0

ジオコード関数の外でマーカー オブジェクトをキャッチできるようにしたいのですが、その方法がわかりません。
私を助けてください。

コード:

geocoder.geocode({ address: address }, 
    function(results, status) {
        if (status == google.maps.GeocoderStatus.OK && results.length) {
            if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
                map.setCenter(results[0].geometry.location);
                var marker = new google.maps.Marker({
                    position: results[0].geometry.location,
                    map: map
                });
            }
        }
    });

前もって感謝します!

4

1 に答える 1

1

コールバックの外で変数を宣言しmarker、コールバック内で値を割り当てます。

var marker = null;
geocoder.geocode({ address: address }, 
    function(results, status) {
        if (status == google.maps.GeocoderStatus.OK && results.length) {
            if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
                map.setCenter(results[0].geometry.location);
                marker = new google.maps.Marker({
                    position: results[0].geometry.location,
                    map: map
                });
            }
        }
    }
);

markerただし、コールバックは非同期であるため、コールバックがトリガーされるまでは何も役に立たないことに注意してください。

于 2011-05-31T18:22:00.523 に答える