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

11

我正在使用以下代码在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);
}

通过将用户当前位置居中显示在地图上,该功能正常工作。但我想在用户的位置上显示指示器(一个红点)。但是我发现 Google API 只提供了3个选项:中心、缩放和地图类型。

有没有其他可用的选项可以用来突出位置,或者有没有变通方法?

编辑

已经找到 Google 地图 API 有一个标记(marker)可以突出显示任何位置。看起来很有帮助,但是它显示了一个默认的红色气球,是否可以用自定义图像进行修改?

3个回答

14
你可以使用新发布的GeolocationMarker,它是Google Maps API Utility Library的一部分。
它会在用户的当前位置添加一个标记和精度圆圈。它还允许开发者使用setMarkerOptions方法自定义标记并指定icon属性。

9

在标记中使用图标,例如:

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

您可以使用此Google地图位置指示圆形蓝点图标,类似于Google地图。 enter image description here

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接