如何通过Google Maps API获取经纬度?
如何通过Google Maps API获取经纬度?
使用 API v3
google.maps.event.addListener(map, 'click', function(event) {
alert( 'Lat: ' + event.latLng.lat() + ' and Longitude is: ' + event.latLng.lng() );
});
同样,您可以检索标记被拖放的时间:
google.maps.event.addListener(marker, 'dragstart', function(event) {
alert( 'Lat: ' + event.latLng.lat() + ' and Longitude is: ' + event.latLng.lng() );
});
如果您需要使用Google Maps API查找地址的纬度和经度,则需要使用Google Maps地理编码服务:
var map = new GMap2(document.getElementById("map_canvas"));
var geocoder = new GClientGeocoder();
var address = "1600 Amphitheatre Parkway, Mountain View";
geocoder.getLatLng(address, function(point) {
var latitude = point.y;
var longitude = point.x;
// do something with the lat lng
});
如果您想获取在 Google 地图上点击的位置的纬度和经度,可以在 click 事件中执行以下操作:
GEvent.addListener(map, "click", function(marker,point) {
var latitude = point.y;
var longitude = point.x;
// do something with the lat/lng
});
console.log(response.results[0].geometry.viewport.northeast.lat);
console.log(response.results[0].geometry.viewport.northeast.lng);
怎么样?运行正常...
var map = new google.maps.Map(....);
var longitude = map.center.lng();
var latitude = map.center.lat();
或者
var longitude = map.getCenter().lng();
var latitude = map.getCenter().lat();
除了RedBlueThing的回答,你还可以做一些类似的事情:
geocoded_by :address
def address
[street, city, state, country].compact.join(', ')
end
我不确定您是否正在请求通过代码获取纬度和经度的方法(尽管您说了API :)), 如果是这样,那么有数百万篇文章可以向您展示如何实现此功能(包括上面提到的文章),但如果您只是想要一种工具,告诉您单击的位置在哪里,那么Google地图已经内置了此功能。 请查看此处的帖子以了解如何启用该功能。
http://varunpant.com/posts/find-longitude-and-latitude-in-google-maps