Получить координаты широты / долготы с карты Google с помощью маркера

Я просто задавался вопросом, знает ли кто-нибудь о простом скрипте, который будет делать следующее:

Загрузите карту google в поле зрения, при нажатии на нее появится маркер, который сохранит значения lat и long для переменной?

Кто-нибудь знает, если что-то подобное уже существует в PHP?

заранее спасибо

Возможно, вы ищете нечто похожее на этот инструмент поиска широты долготы . Пример кода является был API v2. Ниже приведена сводная версия кода с помощью API Карт Google v3:

var latlng = new google.maps.LatLng(51.4975941, -0.0803232); var map = new google.maps.Map(document.getElementById('map'), { center: latlng, zoom: 11, mapTypeId: google.maps.MapTypeId.ROADMAP }); var marker = new google.maps.Marker({ position: latlng, map: map, title: 'Set lat/lon values for this property', draggable: true }); google.maps.event.addListener(marker, 'dragend', function(a) { console.log(a); // bingo! // a.latLng contains the co-ordinates where the marker was dropped }); 

демонстрация

Объяснение: вы должны установить для свойства draggable маркера значение true. Затем вы можете подключить функцию обратного вызова к событию dragend этого маркера; новые координаты передаются функции, и вы можете назначить их для переменной JavaScript или поля формы.

 // add a click event handler to the map object GEvent.addListener(map, "click", function(overlay, latLng) { // display the lat/lng in your form's lat/lng fields document.getElementById("latFld").value = latLng.lat(); document.getElementById("lngFld").value = latLng.lng(); }); 

Я думаю, когда вы получите lat-lng, тогда вы можете разместить маркер.

Ознакомьтесь с API карт Google v.3. На странице событий :

  google.maps.event.addListener(map, 'click', function(event) { // use event.latLng to place a google.maps.Marker }); 

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

http://jsfiddle.net/ZW9jP/

Я добавил следующее, но, похоже, ничего не делает

 google.maps.event.addListener(map, 'click', function(event) { addMarker(event.latLng); }); 

ниже код работает хорошо

 var latlng = new google.maps.LatLng(51.4975941, -0.0803232); var map = new google.maps.Map(document.getElementById('map'), { center: latlng, zoom: 11, mapTypeId: google.maps.MapTypeId.ROADMAP }); var marker = new google.maps.Marker({ position: latlng, map: map, title: 'Set lat/lon values for this property', draggable: true }); google.maps.event.addListener(marker, 'dragend', function (event) { document.getElementById("latbox").value = this.getPosition().lat(); document.getElementById("lngbox").value = this.getPosition().lng(); });