2010-05-05 44 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(); 
相關問題