如何使用 JavaScript 制作用户当前位置的谷歌地图
Posted
技术标签:
【中文标题】如何使用 JavaScript 制作用户当前位置的谷歌地图【英文标题】:How can I make a google map with user's current place with JavaScript 【发布时间】:2012-08-02 13:07:36 【问题描述】:我检查了我的问题的解决方案,但我得到的只是谷歌分配给静态经度和纬度的代码。
这是 javascript 代码:
var map = new google.maps.Map(mapDiv,
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
);
我想根据用户位置让它动态化。
【问题讨论】:
【参考方案1】:你可以试试这个……
http://netmera.com/location/js/geolocation.js
添加geolocation.js
为您的html 编写脚本,然后尝试下面的代码。
$.geolocation.find(function(location)
var lat = location.latitude;
var lng = location.longitude;
var map = new google.maps.Map(mapDiv,
center: new google.maps.LatLng(lat, lng),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
);
);
【讨论】:
【参考方案2】:您可以通过 HTML5 GeoLocation API(参见 here 示例代码)获取用户的经度和纬度并传递检索到的值。
【讨论】:
嗯,这已经可以了,但是有一个问题是 Geolocation API 不能在旧浏览器上运行,这是一个大问题,因为我想集成地图在 Web 应用程序 上 要么禁止旧浏览器,要么向用户询问邮政编码并进行反向地理编码。后来的一个缺点是这可能无法独立于国家/地区工作。如果不希望这两种可能性,我会说你不走运。【参考方案3】:您需要使用 HTML5 Geolocation API。因素数量:用户必须允许您的网站收集有关您的位置的信息,如果他不这样做,您将无法收集信息。其次,即使是信息也不总是准确的。在收集位置信息时,API 使用了许多资源,包括在您当前的 IP 地址处发送页面的服务器的位置,或者如果用户在启用 GPRS 的设备上查看您的网站,它可能会使用用户的 GPRS 服务。无论哪种情况,您获得确切位置的可能性都不大,您几乎总能期待大概的位置。
【讨论】:
嗯,这已经可以了,但是有一个问题是 Geolocation API 不能在旧浏览器上运行,这是一个大问题,因为我想集成地图在 Web 应用程序上以上是关于如何使用 JavaScript 制作用户当前位置的谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章