0

Places API を使用する Web サイト pune.org があります。しかし、ご覧のとおり、マーカーを選択すると、行ごとのリストが追加され続け、最終的にマップ エリア全体が役に立たなくなります。

リストをリセットするにはどうすればよいですか、または理想的には、現在選択されているマーカーのリストのみを表示するにはどうすればよいですか?

ありがとう、サンディープ

4

1 に答える 1

1

たとえば、マップがパンするたびに、コード内で Places Service を数回インスタンス化しています。最初に service という名前のグローバル変数を設定してから、Places Service を 1 回インスタンス化する必要があります (* マップの初期化中が適切です)。service.search次に、サービスを何度もインスタンス化するのではなく、他の関数でメソッドを呼び出すだけです。

そう:

var service;
\\Rest of other global variables
function initializeMap(initialLat, initialLng, detectCurrentLocation, radius,
        zoomLevel, defaultType) {
    initialLocation = new google.maps.LatLng(initialLat, initialLng);
    geocoder = new google.maps.Geocoder();

    var myOptions = {
        zoom : zoomLevel,
        mapTypeId : google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    service = new google.maps.places.PlacesService(map); //Only do this once!
    ...//rest of your code
}

次に、コード内の他のインスタンスを削除し、service = new google.maps.places.PlacesService(map);呼び出すだけですservice.search(request, callback);

于 2012-06-14T18:19:25.640 に答える