宁波网站制作技术自动转向

发布时间:2015-3-13 18:45:48

宁波网站制作技术自动转向

  从海外访问网站http://www.google.com时,你也许会惊讶地发现自己被自动转至相关的Google地区域名下。即便你的浏览器不具备地理定位能力,自动转向也会发生作用:Google通过IP地址得到你的位置,宁波网站制作认为并使用了一个简单技巧进行转向。
  通过使用其他技术,GeolocationAPI的精度能显著提升。以下为4种目前使用的方法。
  1.对于带Internet连接的PC,其位置由IP地址而定。但你可能会想到,此类定位方法其实相当不精确。
  2.在使用无线网络连接的情况下,定位可以变得更加精准。Google从世界范围收集了许多公共和私人WLAN数据。
  3.对于带移动式通信芯片的设备(例如智能手机),其位置将通过移动通信网络得到确定。
  4.如果硬件带有GPS传感器,在定位时会更加精准。GPS是一个基于卫星定位的系统,在良好工作环境下(室外、无障碍空地等),即便一个粗劣的传感器也可以将位置精确到以米为单位的范围内。
  除了GPS传感器能离线使用,方法1~3都需要访问互联网并通过服务器定位服务得到应用。提供此类服务的公司包括Google(GoogleLocationService,可在Firefox、Chrome及Opera下使用)及另一美国公司SkyhookWireless(可在Safari及Opera的早期版本下使用)。
  但服务商们是如何从无线及移动网络中得到位置信息的呢?以Google服务StreetView的街景车为例:它不仅拍摄照片,还保存公众及私人WLAN的信息。0年春天,人们发现这些车不仅收集WLAN的MAC地址及SSID,还收集用户信息。这一发现给Google带来了负面影响,并导致一系列公开道歉。
  但这还不是全部:若浏览器通过移动网络或无线LAN路由访问互联网,则每次调用相应服务时都会发送位置信息。Google主要针对带Android操作系统的移动通信设备,而Skyhook主要针对的是iPhone用户。这些已描述方法的结合为这两家服务商提供了非常大的地理数据集,并通过众包(crowdsourcing)方式不断获得更新(这些数据确实是用户提供的,即便他们并不知情)。
  Firefox插件Geolocater有个非常有用的扩展功能,尤其是在帮助开发应用程序方面。在调用GeolocationAP丨时,用户能自定义Firefox所返回的位置信息。用户可以在不使用Google在线服务的情况下.通过一个下拉菜单来选择位置。你可以通过以下链接下载此插件:,https://addons.mozilla.org/en-US/firefox/addon/OpenStreetMap上显示当前位置在下面的案例中,当前位置被标记在OpenStreetMap的地图上。你可以看见不同的层及OpenStreetMap导航条。图展示了OpenStreetMap的Mapnik层-位于浏览器中央的位置标记。
  在节中已经提到过,我们使用OpenLayers库来显示OpenStreetMap项目的数据。在两个必要的JavaScript文件加载完成后,示例中的地图被初始化,并加人所需的控制元素:
  //Initializemapandaddnavigation
  varmap=newOpenLayers.Map(wmap");
  map.addControl(newOpenLayers.Control.NavigationQJ;map.addControl(newOpenLayers.Control.PanZoomBar());除了带4个箭头的导航元素外,我们在地图变量(map)中加人缩放条。之后,我们为各种层创建selection元素(Control.LayerSwitcher),并将这些层添加到地图中。要新创建的地图对象数组位于函数map.addLayers()中:
  //Layerselectionwithfourmaptypes
  map.addControl^newOpenLayers.Control.LayerSwitcher());map.addLayers([newOpenLayers.LayerOSM.Mapnik("Mapnik"),newOpenLayers.Layer.OSM.Osmarender("Osmarender"),newOpenLayersLayerOSMCycleMap("CycleMap")D;为地图中的标记创建一个层:
  varmarkers=newOpenLayers.Layer.Markers("Markers");map.addLayer(markers);成功定位后的回调函数如下:
  function(pos){
  var11=newOpenLayers.LonLat(pos.coords.longitude,pos.coords.latitude).transform(newOpenLayers.Projection(MEPSG:46"),map.getProjectionObject()^
  map.setCenter(11,zoom);markers.addMarker(newOpenLayers.Marker(11,newOpenLayers.Icon(
  'http://www.openstreetmap.org/openlayers/img/marker.png')如节中谈到的那样,地理坐标系中的坐标(lat/lon)必须转化成球形墨卡托投影坐标系。最后,标记11被置于判定出的当前地理位置,相应的图标直接从OpenStreetMap加载。地理定位规范中还有一个特别适合用来移动对象的函数:navigator.geolocation.watchPosition()。下面的例子将演示如何使用GoogleMapsAPI来图形化地展示地理位置的改变。
  本文由乐华网络编辑,转载请注明出处
  宁波网站制作www.leseo.net
上一篇:
把一些相似他人网域的字串加在自个网域前面,这样的办法归于穿梭法律边际,是不入流的做法,假如被搜索引擎
下一篇:
搜索引擎优化/搜索引擎最好化(SearchEngineOptimization)六大心法是啥?这个心
关于乐华
乐华介绍
乐华思维
人才招聘
使用条款
隐私保护
RSS订阅
网站地图
新闻动态
乐华观点
行业动态
频道介绍
服务介绍
案例展示
品牌研究
品牌理论
品牌体系
联系我们
400-680-2900
社会媒体
微信公众平台
微信公众平台