2010-05-05 113 views

回答

13

如果您需要找出使用谷歌地图API的地址的纬度和经度,你需要使用Google Maps Geocoding Service

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 
    }); 

如果你想获得一个位置的纬度和经度点击您的谷歌地图上,您可以单击事件做到这一点:

GEvent.addListener(map, "click", function(marker,point) { 
     var latitude = point.y; 
     var longitude = point.x; 

     // do something with the lat/lng 
    }); 
+0

谢谢!我如何获得GEvent。在我的HTML或JSP页面?我是否需要包含任何js。我正在使用http://code.google.com/p/struts2-map-plugin/wiki/MapTag,但这没有地图功能上的标签,所以在这里查找第二个示例中显示的内容。 – 2013-05-15 10:51:11

+0

@AmolGhotankar Ghotankar saheb,mi ha code chalawun pahila,nahi chalate mazya ithe,sagalyat pahilya answer cha pan code chalat nahiye,tumhala kahi mahit aasel tar sanga na ... mala map war konatyahi point la click kelyawar tya point ch纬度和经度pahijele。 – 2013-11-01 05:13:11

0

我不知道,如果你正在通过代码请求获取经纬度的方法(虽然你确实说过API :)), 如果你有一百万个帖子会告诉你如何(包括上面的那些),但如果你是对某种实用工具感兴趣,它只是告诉你你点击的地方,然后谷歌地图就已经出现了。 查看他的帖子,了解如何启用该功能。

http://varunpant.com/posts/find-longitude-and-latitude-in-google-maps

22

随着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()); 
}); 
+4

注意:由于我的编辑被拒绝,因此缺少圆括号和需要添加的分号才能使用。此外,建议将'dragstart'更改为'dragend',以便您在放置标记后(不是在您捡起标记后立即)发出警报。 – 2013-04-21 09:31:34

0

为了增加RedBlueThing的答案,你可以做的东西,如:

geocoded_by :address 

def address 
[street, city, state, country].compact.join(', ') 
end 

帮你缩小的确切位置,否则,如果你只是在街上发送地址解析器宝石刚刚返回的第一个实例那条街上发现这可能是在世界任何地方

0

怎么样? 做工精细...

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(); 
相关问题