如何在谷歌地图中突出显示用户的当前位置?

Kam*_*mal 9 javascript google-maps geolocation google-maps-api-3

我使用以下代码来获取用户在phonegap中的位置(它工作正常)

function getLocation() {
    var win = function(position) {
        var lat = position.coords.latitude;
        var long = position.coords.longitude;
        var myLatlng = new google.maps.LatLng(lat, long);

        var myOptions = {
           center: myLatlng,
           zoom: 7,
           mapTypeId : google.maps.MapTypeId.ROADMAP
        };
        var  map_element = document.getElementById("displayMap");
        var map = new google.maps.Map(map_element, myOptions);
    };

    var fail = function(e) {
        alert('Error: ' + e);
    };

    var watchID = navigator.geolocation.getCurrentPosition(win, fail);
}
Run Code Online (Sandbox Code Playgroud)

通过将用户的当前位置居中放置在地图上,这可以正常工作.但我想在用户的位置显示一个指示符(红点).但我可以看到谷歌API只提供3个选项中心,缩放和mapTypeId.

是否有任何可用的选项可用于突出显示位置或是否有解决方法?

编辑

能够发现谷歌地图API有一个标记浩突出任何位置.这看起来很有帮助,但是显示了一个默认的红色气球,可以通过自定义图像进行修改吗?

Cha*_*rth 12

您可以使用新发布的GeolocationMarker,它是Google Maps API Utility Library的一部分.

它将在用户的当前位置添加标记和精度圆.它还允许开发人员使用该setMarkerOptions方法自定义标记并指定icon属性.


小智 5

在标记内使用图标,例如

    var Marker = new google.maps.Marker({
        map: map,
        animation: google.maps.Animation.DROP,
        position: "",
        icon: /bluedot.png
});
Run Code Online (Sandbox Code Playgroud)

您可以使用此Google地图位置指示圆形的蓝色圆点图标,类似于Google地图

在此处输入图片说明