Как получить широту и долготу с помощью Google Maps API? - PullRequest
17 голосов
/ 05 мая 2010

Как узнать широту и долготу с помощью Google Maps API?

Ответы [ 8 ]

23 голосов
/ 20 сентября 2012

с 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() );
});
13 голосов
/ 05 мая 2010

Если вам нужно узнать широту и долготу адреса с помощью API Карт Google, вам нужно использовать Службу геокодирования Карт Google :

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, вы можете сделать это в событии клика:

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

        // do something with the lat/lng
    });
4 голосов
/ 30 июля 2014

Я нашел результат с помощью следующего метода:

http://maps.googleapis.com/maps/api/geocode/json?address=woking&sensor=false

  console.log(response.results[0].geometry.viewport.northeast.lat);
  console.log(response.results[0].geometry.viewport.northeast.lng);
1 голос
/ 04 июля 2012
0 голосов
/ 22 ноября 2016

Как насчет?Работает нормально ...

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();
0 голосов
/ 01 ноября 2013

Чтобы добавить ответ RedBlueThing, вы можете сделать что-то вроде:

geocoded_by :address

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

, чтобы помочь вам сузить точное местоположение, в противном случае, если вы просто отправите на улицу, гем геокодера просто вернет первый найденный экземпляр улицы, который может быть где угодно в мире

0 голосов
/ 26 марта 2012

Я не уверен, что вы запрашиваете способ получения широты и долготы с помощью кода (хотя вы и сказали API :)), Если у вас есть миллионы постов, которые покажут вам, как (включая те, что указаны выше), но если вас интересует какая-то некая утилита, которая просто сообщает вам, где вы нажимаете, то Google-карты уже идут с ней. Посмотрите его пост о том, как включить эту функцию.

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

0 голосов
/ 05 мая 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...