2012-10-18 15 views
6

GoogleMap(Google maps V3 JS)UIWebView(ios6) görüntülemeye çalışıyorum.
ancak,
Haritayı web görünümünde taşıdığımda, olay center_changed.
Haritayı taşı tamamlandı, etkinlik yangını.
Neden? Yangın center_changed haritası hareket halindeyken - Mac' Safri erişim http://gmaps-samples-v3.googlecode.com/svn/trunk/map_events/map_events.html

:
...
Birisi bana sayfasını anlattı.
iOS6 Güvenli erişim - taşıma haritası tamamlandı, yangın center_changed.

...
Hareket ederken haritanın Merkez-Kordinatlarını bilmek istiyorum.
Lütfen bana iyi bir yol söyle.
Google haritaları V3 JS yok UIWebView'dan "center_changed" oldu iOS6 (iPhone)

`<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>` 

cevap

-1

Size drag olay değil center_changed istiyorum benziyor. Google Maps Javascript API V3 Reference Gönderen:

sürükleme: kullanıcı haritayı sürükler sırasında bu olay defalarca harekete geçirilir. Böyle

şey: O sürüklerken harita sınırları, artık sürükleme olay ateş yapar rağmen haritası sürüklenen edilirken, böylece hem getCenter() döner güncellenen gibi görünüyor:

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

Düzenleme sürükleme başladığında haritanın koordinatları. Bunu işaret etmek için @Zubair'e teşekkürler.

+1

Bu, harita taşınırken sürükleme işlemi tetiklenirken, lat ve lng güncellenmediğinde ve aslında sürükleme işleminin başlangıcındaki değerler olduğu gibi yanlıştır – Zubair

+0

@Zubair: Bu kesinlikle çalışmak için kullanılır, ancak siz ' Doğru, artık güncelleniyor. Burada keman bakın http://jsfiddle.net/lazd/ReLf7/ – lazd

1

Bu, IOS aygıtlarında google haritalarda çalışmayan bir şeydir. Map_changed, harita sürüklendiğinde ateşlenir ancak merkez, sürükleme tamamlanana kadar güncellenmez. Yani cevap 'hayır', bunu yapamazsın.

İlgili konular