地理定位必发bifa88手机客服端

在线地图已经是很平凡的使用,谷歌 Map
甚至足以当作驾驶导航仪,可是,这几个使用的贯彻关系到复杂的劳累工作,仅仅是稳定你今后的职分,就有过多技术,有幸的是,近期在您的
Web
站点中,你能够透过短短的几行代码,获得3个用户的地理地方,本文介绍的是用在
Web 中的各类地理定位技术。

由此 IP 地址获得用户的地理位置音信

互连网只是是1个伟大的网络,上边的每一台电脑对应一个 IP 地址,通过那么些IP 地址,可以通晓那么些用户在如何职位,大家得以由此查询 Maxmind GeoIP
数据库
 获得,马克斯mind 还提供了3个 JavaScript
接口
让你在网站上落到实处这一功力。

必发bifa88手机客服端 1

 

以此办法(演示)有2个难题,正是说,你拿走的
IP 地理地方新闻不一定万分标准,因为这么些 IP 是你的 ISP
分配给你的,你获取的莫过于是 ISP 的地理地点,此外,假诺你使用
VPN,你其实的得到恐怕是800007000里之外的地点了。

由此 W3C Geo API 获得用户地理地方

因而 IP
地址获取用户地理地点还有叁个讨厌的标题,正是平安定祥和隐秘难点,终究,并不是每一种用户都乐意本人的地理地点新闻被外人知道,鉴于此,人们开发了许多技艺,谷歌Gears 拥有3个 Geo-Location
服务
Plazes
援助你保存你的地方
,而 Yahoo Fire
Eagle
 算得上这类技术中最顺手的三个。不过这一个技巧联合的难题是,它们须求用户依然安装三个插件,要么供给拜访特定的
Web 服务,那有个别麻烦。

W3C 有一个 Geo-Location
API
 能够帮忙浏览器创设商,在浏览器中合拢地理消息意义。Firefox
3.5 以上的浏览器支持 W3C
Geo-LocationAPI
,同样援救该
API 的还有 iPhone 上的
Safari
浏览器
(须要OS3.0
以上)。须求经过浏览器查询自身地理地点的用户,在浏览器中,会议及展览示2个对话条,请求你的授权。如下图所示:

必发bifa88手机客服端 2

以下是呼吁使用该效能的代码:

必发bifa88手机客服端 3

上面包车型客车示范,能够很好地示范上边三种地理新闻得到技能的不等,能够见见,他们在度量用户地理地方地点有不少不比。

必发bifa88手机客服端 4

将经度/维度转换为地名

将经度/维度新闻变换为地位,称为 
Geo-Location
,网络上有很多那类服务能够利用,当中最著名的是 the geo-names Web
service
,
但它仍有多少个难点,比如,它的结果是以美利坚合众国为主导的。另二个可免费使用,且协助全球消息,但知情的人并不多的劳动源于三个令人有个别不期而然的地方,Flickr。Flickr
的 flickr.places.findByLatLon 服务能够依据经纬度信息再次回到地名,你能够在 app
explorer
 做下体验,但近年来最简便易行的格局是运用 Yahoo Query
Language
 ( Yahoo 查询语言,简称 YQL). YQL
的旗帜如下:

必发bifa88手机客服端 5

选择 YQL 查询语言,你能够取得 XML 或 JSon 格式的多寡,下图是在
JavaScript 中是采用该查询语言的事例:

必发bifa88手机客服端 6

构成方面包车型大巴事例,在反 Geo-Location
查询的声援下,我们赢得了详细的地名消息

必发bifa88手机客服端 7

经纬度的难题

 

经纬度即使能够稳定地球上的二个岗位,但经纬度有时候简单引起歧义,为了消除那一个标题,Yahoo
和 Flickr
Twitter 不慢也会支撑)援救另一种永恒方法,叫 Where On Earth
Identifier
 (简称 WOEID)
。使用该措施,我们得以很简单获取来自某些区域的 Flickr 图片。

必发bifa88手机客服端 8

如此几句 JavaScript 代码就能够来得来自钦赐地理地方的图纸:

必发bifa88手机客服端 9

这么些代码仍是能够打包成函数,下边包车型客车代码,将显得来自法国首都的10幅照片,你能够协调在 YQL
console
 中体验:

必发bifa88手机客服端 10

在文字内容中活动挖掘地理消息

万一你想赢得一段文字,或然贰个网页内容所提到的地名的地理地方的消息,Yahoo
提供了一个很好的服务,叫 Placemaker。从
Yahoo 那里获取一个 developer
key
 就足以行使该服务了。只需创造二个颁发布单公布到 http://wherein.yahooapis.com/v1/document,将
Developer Key 以 appid 发表,需求查询的文字以 documentContent
宣布,将文字类型以 documentType 公布,同时用 outputType
定义重返数据类型,如下:

必发bifa88手机客服端 11

必发bifa88手机客服端,您也足以在这里亲自感受一下,使用
PHP 调用该 API
,甚至足以对输出数据的格式进行设置。那里还有五个选用PlaceMaker 设计 GeoMaker 服务,简单输入文字或
U帕杰罗L,采纳地点,就能够重返地图。

必发bifa88手机客服端 12

因为还足以在 JavaScript 中通过 YQL 使用
PlaceMaker,我们得以经过几段客户端脚本金和利息用相同的效用:

必发bifa88手机客服端 13

您需求三样东西,一段放在有些 HTML 对象中的,包罗地理地方的文字,1个谷歌 Maps API Key
申请) 以及以下代码:

必发bifa88手机客服端 14

在网页中插入地图

在线地图有无数,谷歌(Google) Map 是里面包车型大巴当先者,除了 谷歌(Google),Yahoo,
微软都提供地图服务,还有四个叫做 Open Street
Maps
 的怒放地图服务,在上次海地地震救援中被派上用场。在网页中插入交互地图最不难易行的艺术是选拔 Mapstraction,它提供叁个JavaScript 库,24ways
曾发布过一篇很好的介绍作品
。借使你只想在网页上放上你的地形图,提示你的任务,而不想使用太多
JavaScript, Google static
maps
API
 是最好的选用,它会变动静态地图,以下代码能够将这么些静态地图插入你的网页(Google还提供了八个创设静态地图的工具):

必发bifa88手机客服端 15

 

正文国际来源:http://www.smashingmagazine.com/2010/03/08/entering-the-wonderful-world-of-geo-location/

中文编译来源:锐商集团CMS 网站内容管理种类 官方网站

相关文章