如何使用 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 制作用户当前位置的谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 将当前地理位置加载到数据库中

如何在用户位置上制作地图中心

如何使用 Javascript/jQuery 使用新对象制作其他表单?

如何使用javascript制作动态变化的下载链接?

如何使用谷歌地图API制作一个搜索特定半径周围项目的表单?

React:如何使用用户当前位置的更新状态而不是初始状态