2012-10-18 8 views
6

से "center_changed" होता है, मैं UIWebView(ios6) में GoogleMap(Google maps V3 JS) प्रदर्शित करने की कोशिश कर रहा हूं।
लेकिन,
जब मैं नक्शा को वेबव्यू में ले जाता हूं, तो ईवेंट 0 आगनहीं होता है।
स्थानांतरित करें नक्शा पूरा हो गया है, घटना आग।
क्यों? आग center_changed जबकि नक्शा बढ़ रहा है -
http://gmaps-samples-v3.googlecode.com/svn/trunk/map_events/map_events.html
मैक 'Safri पहुँच:
...
मुझे किसी ने पेज को बताया।
आईओएस 6 सफारी पहुंच - स्थानांतरित करें नक्शा पूर्ण है, center_changed आग।

...
मैं चलते समय मानचित्र के केंद्र-कॉर्डिनेट्स को जानना चाहता हूं।
कृपया मुझे एक अच्छा तरीका बताएं।
Google मानचित्र V3 जेएस यूआई वेबवेव आईओएस 6 (आईफोन)

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

उत्तर

-1

ऐसा लगता है कि आप drag घटना, नहीं center_changed चाहते लगता है। Google Maps Javascript API V3 Reference से:

खींचें: इस घटना के बार-बार निकाल दिया जाता है, जबकि उपयोगकर्ता नक्शा खींच लेता है।

कुछ इस तरह:

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

संपादित करें: ऐसा लगता मानचित्र सीमा नहीं रह गया है, जबकि अद्यतन खींच इतना हालांकि खींचें घटना आग करता है, जबकि नक्शा घसीटा जा रहा है, दोनों getCenter() रिटर्न कर रहे हैं, ड्रैग शुरू होने पर मानचित्र के निर्देशांक। इसे इंगित करने के लिए @ जुबैर के लिए धन्यवाद।

+1

यह गलत है क्योंकि नक्शा स्थानांतरित होने पर ड्रैग आग लगती है, लैट और एलएनजी अपडेट नहीं होते हैं, और वास्तव में ड्रैग ऑपरेशन – Zubair

+0

@Zubair की शुरुआत में मान हैं: यह निश्चित रूप से काम करने के लिए उपयोग किया जाता है, लेकिन आप ' ठीक है, यह अब अद्यतन नहीं है। यहां बेवकूफ देखें http://jsfiddle.net/lazd/ReLf7/ – lazd

1

यह ऐसा कुछ है जो आईओएस उपकरणों पर Google मानचित्र पर काम नहीं करता है। जब नक्शा खींचा जाता है तो केंद्र_changed निकाल दिया जाता है लेकिन ड्रैग पूरा होने तक केंद्र अद्यतन नहीं होता है। तो जवाब है, 'नहीं', आप यह नहीं कर सकते हैं।

संबंधित मुद्दे