4

ここで「setMap」関数を設定して、このコードを v3 に移植するにはどうすればよいですか? または、一般的にv3に移植します...

// 要素がマップスクリーンの外にある場合は、マップを中心に戻す

while ((!map.getBounds().containsLatLng(marker.getPosition())) & (showAllCategoryElements == 0)) {
        var newCenterPointLng = (map.getBounds().getCenter().lng() + marker.getPosition().lng()) / 2;
        var newCenterPointLat = (map.getBounds().getCenter().lat() + marker.getPosition().lat()) / 2;
        map.panTo(new google.maps.LatLng(newCenterPointLat, newCenterPointLng));
        map.setCenter(new google.maps.LatLng(newCenterPointLat, newCenterPointLng));
        if (!map.getBounds().containsLatLng(marker.getPosition())){
            map.zoomOut();
        }

ここに例がありますhttp://d.hatena.ne.jp/tsmsogn/20111216/1324026723 いくつかのヒント: markus.tao.at/geo/google-maps-api-v3-is-in-town/

また、 https://github.com/tparkin/Google-Maps-Point-in-Polygon js をインポートして、「containsLatLng」サポートを取得します

助けやヒントをありがとう

4

2 に答える 2

4

API ドキュメントによると、.getbounds() は maps.Polygon ではなく google.maps.LatLngBounds を返します。

LatLngBounds には contains 関数があるため、追加のインポートは必要ありません。

map.getBounds().contains(marker.getPosition()) ....

https://developers.google.com/maps/documentation/javascript/reference#LatLngBounds

于 2012-06-06T15:52:23.843 に答える
2

Google マップ v3 には別の方法があります。これがあなたにとって最良の例です。 https://developers.google.com/maps/documentation/javascript/examples/poly-containsLocation

于 2013-10-09T12:13:39.927 に答える