2012-06-14 23 views
25

में मार्कर के निर्देशांक प्राप्त करना मैं Google मानचित्र API का उपयोग कर रहा हूं। और मैं मार्कर के निर्देशांक प्राप्त करने के लिए नीचे दिए गए कोड का उपयोग कर रहा हूं।Google मानचित्र API

var lat = homeMarker.getPosition().$a; 
var lng = homeMarker.getPosition().ab; 

सब कुछ Google मानचित्र का उपयोग करके बनाए गए ऐप के साथ ठीक काम कर रहा है। लेकिन मैंने आज इसका परीक्षण किया और मुझे सही निर्देशांक प्राप्त करने में समस्याएं आईं। केवल यह पता लगाने के लिए कि ऊपर दिया गया कोड अपरिभाषित हो रहा है। Console.log (homeMarker.getPosition()) के बाद मैंने पाया कि यह अब चर है जो उन्होंने निर्देशांक के लिए उपयोग किया था।

var lat = homeMarker.getPosition().ab; 
var lng = homeMarker.getPosition().cb; 

मैं नहीं पूछूंगा कि Google मानचित्र इस तरह से क्यों कार्य करता है लेकिन आप इसे अपने उत्तर में भी शामिल कर सकते हैं। मेरा सवाल यह है कि जब भी Google नक्शे वेरिएबल्स का उपयोग कर रहे हैं, तो हर बार मेरे कोड को बदलने के बिना मैं निर्देशांक कैसे प्राप्त करूं।

उत्तर

2

एक और वैकल्पिक विकल्पों

var map = new google.maps.Map(document.getElementById('map_canvas'), { 
    zoom: 1, 
    center: new google.maps.LatLng(35.137879, -82.836914), 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}); 

var myMarker = new google.maps.Marker({ 
    position: new google.maps.LatLng(47.651968, 9.478485), 
    draggable: true 
}); 

google.maps.event.addListener(myMarker, 'dragend', function (evt) { 
    document.getElementById('current').innerHTML = '<p>Marker dropped: Current Lat: ' + evt.latLng.lat().toFixed(3) + ' Current Lng: ' + evt.latLng.lng().toFixed(3) + '</p>'; 
}); 

google.maps.event.addListener(myMarker, 'dragstart', function (evt) { 
    document.getElementById('current').innerHTML = '<p>Currently dragging marker...</p>'; 
}); 

map.setCenter(myMarker.position); 
myMarker.setMap(map); 

और html फ़ाइल

<body> 
    <section> 
     <div id='map_canvas'></div> 
     <div id="current">Nothing yet...</div> 
    </section> 
</body> 
+0

google.maps.event.addListener (myMarker, 'dragend', समारोह (evt) {.. }); यह अपवाद फेंकता है – rajkiran

2

इसके अलावा, आप "खींचें" श्रोता द्वारा वर्तमान स्थिति को प्रदर्शित करने और यह दृश्य या छिपा क्षेत्र के लिए लिख सकते हैं। आपको ज़ूम स्टोर करने की भी आवश्यकता हो सकती है। यहाँ की कार्यशील उपकरण से & पेस्ट कॉपी:

  function map_init() { 
      var lt=48.451778; 
      var lg=31.646305; 

      var myLatlng = new google.maps.LatLng(lt,lg); 
      var mapOptions = { 
       center: new google.maps.LatLng(lt,lg), 
       zoom: 6, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 

      var map = new google.maps.Map(document.getElementById('map'),mapOptions); 
      var marker = new google.maps.Marker({ 
       position:myLatlng, 
       map:map, 
       draggable:true 
      }); 

      google.maps.event.addListener(
       marker, 
       'drag', 
       function() { 
        document.getElementById('lat1').innerHTML = marker.position.lat().toFixed(6); 
        document.getElementById('lng1').innerHTML = marker.position.lng().toFixed(6); 
        document.getElementById('zoom').innerHTML = mapObject.getZoom(); 

        // Dynamically show it somewhere if needed 
        $(".x").text(marker.position.lat().toFixed(6)); 
        $(".y").text(marker.position.lng().toFixed(6)); 
        $(".z").text(map.getZoom()); 

       } 
      );     
      } 
संबंधित मुद्दे