Google Maps v3 map.getBounds().containsLatLng is not a function
Solution 1
Per the API documentation, .getbounds() returns a google.maps.LatLngBounds not a maps.Polygon.
You don't need the extra import as LatLngBounds has a contains function.
map.getBounds().contains(marker.getPosition()) ....
https://developers.google.com/maps/documentation/javascript/reference#LatLngBounds
Solution 2
In Google maps v3 we have another metho. Here is the best example for you. https://developers.google.com/maps/documentation/javascript/examples/poly-containsLocation
Comments
-
Jim over 1 year
How do i set the "setMap" function here to port this code to v3? Or port it generally to v3...
// map recenter, if element is outside the mapscreen
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(); }
here is an example http://d.hatena.ne.jp/tsmsogn/20111216/1324026723 some tips: markus.tao.at/geo/google-maps-api-v3-is-in-town/
i also import https://github.com/tparkin/Google-Maps-Point-in-Polygon js to get "containsLatLng" support
Thanks for help or tips