谷歌地图V3 JS从UIWebView iOS6(iPhone)没有发生“center_changed”

我试图在UIWebView(ios6)显示GoogleMap(Google maps V3 JS) UIWebView(ios6)
但,
当我在webview中移动地图时,事件no fire center_changed
移动地图已经完成,事件发生。
为什么?

有人告诉我页面:
http://gmaps-samples-v3.googlecode.com/svn/trunk/map_events/map_events.html
当地图移动时, center_changed访问 – fire center_changed
iOS6 Safri访问 – 移动地图完成,fire center_changed


我想知道移动中的地图的中心坐标。
请告诉我一个好方法。

 `<html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title>Google Maps JavaScript API v3 Example: iPhone Geolocation</title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var map; var moveCenterLat; var moveCenterLng; function initialize() { var myOptions = { zoom:reqZoomLevel, disableDefaultUI:true, draggable:true, keyboardShortcuts:false, scrollwheel:false, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); google.maps.event.addListener(map, 'center_changed', function(){ var mce = map.getCenter(); moveCenterLat = mce.lat(); moveCenterLng = mce.lng(); }); } </script> </head> <body style="margin:0px; padding:0px;" onload="initialize()"> <div id="map_canvas" style="width:100%; height:100%"></div> </body> </html>` 

这是IOS设备上的谷歌地图不起作用的东西。 当拖动地图时,会触发center_changed,但在拖动完成之前,中心不会更新。 所以答案是'不',你不能这样做。

这听起来像你想要的drag事件,而不是center_changed 。 从Google Maps JavaScript API V3参考 :

拖动 :当用户拖动地图时,此事件被重复触发。

像这样的东西:

 google.maps.event.addListener(map, 'drag', function(){ var mce = map.getCenter(); moveCenterLat = mce.lat(); moveCenterLng = mce.lng(); }); 

编辑:看起来地图边界在拖动时不再更新,因此尽pipe在拖动地图时拖动事件会触发,但是当拖动开始时, getCenter()将返回地图的坐标。 感谢@Zubair指出这一点。