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 は center、zoom、mapTypeId の 3 つのオプションしか提供していないことがわかります。

位置を強調表示するために使用できるオプションはありますか、または回避策はありますか?

編集

Google マップ API には、任意の位置を強調表示するマーカーがあることがわかりました。これは便利に見えますが、デフォルトの赤いバルーンが表示されています。これはカスタム イメージで変更できますか?

4

3 に答える 3

13

Google Maps API Utility Libraryの一部である、新しくリリースされたGeolocationMarkerを使用できます。

ユーザーの現在位置にマーカーと精度円を追加します。また、開発者はsetMarkerOptionsメソッドを使用し、プロパティを指定してマーカーをカスタマイズできiconます。

于 2012-08-29T15:02:37.993 に答える
1

MarkerOptionsを使用して、カスタム イメージを設定できます。Google マップの詳細については、 Google マップ Javascript API V3 リファレンスを確認してください。

于 2012-08-29T16:38:40.550 に答える