2012-02-12 31 views
18

Tôi đã triển khai thành công bản đồ Google. Nhưng một điều nữa còn lại để làm. Tôi cần truy xuất dữ liệu Kinh độ và Latitude khi người dùng nhấp vào bản đồ (bất kỳ tọa độ nào). Toàn bộ mã của tôi trông giống như sau:Nhận Latitude và Kinh độ về sự kiện nhấp chuột từ bản đồ Google

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
    var map; 
    function initialize() { 
     var myLatlng = new google.maps.LatLng(<?=$decimalValueLon?>,<?=$decimalValueLat?>); 
     var myOptions = { 
     zoom: 17, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.SATELLITE 
    }; 


    map = new google.maps.Map(document.getElementById('map_canvas'), 
     myOptions); 

    // marker STARTS  
    var marker = new google.maps.Marker({ 
    position: myLatlng, 
    title:"Click to view info!" 
}); 
    marker.setMap(map); 
    // marker ENDS 

    // info-window STARTS 
    var infowindow = new google.maps.InfoWindow({ content: "<div class='map_bg_logo'><span style='color:#1270a2;'><b><?=$row->bridge_name?></b> (<?=$row->bridge_no?>)</span><div style='border-top:1px dotted #ccc; height:1px; margin:5px 0;'></div><span style='color:#555;font-size:11px;'><b>Length: </b><?=$row->bridge_length?> meters</span></div>" }); 
    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.open(map,marker); 
    }); 
    // info-window ENDS 
} 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script>` 

Cảm ơn bạn trước!

Trả lời

44

Bạn có thể thêm một nhấp xử lý như bạn có một bộ xử lý tải:

google.maps.event.addListener(map, "click", function (e) { 

    //lat and lng is available in e object 
    var latLng = e.latLng; 

}); 
+0

ok, nhưng làm thế nào tôi sẽ lấy kinh độ và vĩ độ từ đối tượng (e)? –

+17

e.latlng cho thấy lat và lng cá nhân thông qua các hàm getter, vì vậy bạn có thể làm e.latlng.lat() và e.latlng.lng() – danwellman

+6

Tôi đã cố gắng theo dõi điều này và phát hiện ra rằng tên của đối tượng là 'latLng' không 'latlng'. Hy vọng nó sẽ giúp :) –

8
<script> 
     var map; 
     function init_map() { 
      var opts = { 'center': new google.maps.LatLng(35.567980458012094,51.4599609375), 'zoom': 5, 'mapTypeId': google.maps.MapTypeId.ROADMAP } 
       map = new google.maps.Map(document.getElementById('mapdiv'), opts); 

      google.maps.event.addListener(map,'click',function(event) { 
       document.getElementById('latlongclicked').value = event.latLng.lat() 
       document.getElementById('lotlongclicked').value = event.latLng.lng() 
      }); 

      google.maps.event.addListener(map,'mousemove',function(event) { 
       document.getElementById('latspan').innerHTML = event.latLng.lat() 
       document.getElementById('lngspan').innerHTML = event.latLng.lng() 
      }); 

     } 
     google.maps.event.addDomListener(window, 'load', init_map); 
    </script> 
Các vấn đề liên quan