在Google Maps API v3上显示我的位置

hob*_*es3 17 html5 google-maps-api-3

Google地图JavaScript API中的"我的位置"

半年前就提出了这个问题.是否已更新Google Maps API v3以使用http://maps.google.com上的"我的位置"按钮?

我的位置是街景人和游戏手柄控件之间的对照.

如果Google Maps API未提供"我的位置",那么我是否需要编写自己的HTML5地理位置功能,navigator.gelocation然后在Google地图上创建自己的控件?

jos*_*736 53

,但根据当前位置添加自己的标记很简单:

var myloc = new google.maps.Marker({
    clickable: false,
    icon: new google.maps.MarkerImage('//maps.gstatic.com/mapfiles/mobile/mobileimgs2.png',
                                                    new google.maps.Size(22,22),
                                                    new google.maps.Point(0,18),
                                                    new google.maps.Point(11,11)),
    shadow: null,
    zIndex: 999,
    map: // your google.maps.Map object
});

if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(pos) {
        var me = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
        myloc.setPosition(me);
    }, function(error) {
        // ...
    });
}
Run Code Online (Sandbox Code Playgroud)

  • 公平地说,这是一个Google服务器.如果它已关闭,则Maps API也无法正常工作. (2认同)

Klo*_*ies 5

我们为 Google Maps API v3 制作了这样一个组件。任何人都可以在自定义项目中使用,只需一行代码即可添加显示当前地理位置的控件:

var geoloccontrol = new klokantech.GeolocationControl(map, mapMaxZoom);
Run Code Online (Sandbox Code Playgroud)

在 HTML 标头中包含此 JavaScript 后:

<script src="https://cdn.klokantech.com/maptilerlayer/v1/index.js"></script>
Run Code Online (Sandbox Code Playgroud)

看:

http://www.maptiler.com/maptilerlayer/

获取示例代码和文档。

在 Google 地图 API v3 上显示我的位置控制

它将标准控件添加到地图中 - 一旦点击 - 它会显示您所在位置周围的蓝色圆圈,其大小源自可用位置数据的精度。如果您不拖动地图,一旦您移动,它就会保持您的位置。

该控件是为由http://www.maptiler.com/软件自动生成的查看器而开发的- 该软件为地图叠加层和由图像和栅格地理数据制成的自定义图层创建图块。

  • 不知何故,GeolocationControl 没有显示给我(即使我使用文档中完全相同的代码)。该库的所有其他功能都对我有用。该按钮是否存在已知问题? (2认同)