10

我正在使用以下代码来获取用户在 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 个选项 center、zoom 和 mapTypeId。

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

编辑

能够发现 google maps API 有一个标记 ho 突出显示任何位置。这看起来很有帮助,但它显示了一个默认的红色气球,可以通过自定义图像修改吗?

4

3 回答 3

13

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

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

于 2012-08-29T15:02:37.993 回答
8

在标记内使用图标,例如

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

你可以使用这个谷歌地图位置指示圆形蓝点图标类似于谷歌地图

在此处输入图像描述

于 2017-04-12T19:08:45.277 回答
1

您可以使用MarkerOptions设置自定义图像。查看Google Maps Javascript API V3 Reference以了解有关 Google Maps 的更多详细信息。

于 2012-08-29T16:38:40.550 回答