3

Я пропустил что-то совершенно очевидное здесь?Обратное геокодирование, преобразующее координаты в адрес?

Мое намерение состоит в том, чтобы преобразовать координаты в адрес и вставить его в DIV

http://jsfiddle.net/sHLG6/1/

Спасибо

+0

(оффтоп) ... чтобы дать 'значение 'в элемент' DIV'. Это хорошо? –

+0

, пожалуйста, разместите соответствующий код в теле вопроса - ссылка на внешний сайт неодобрительно на – Jason

ответ

11

Я видел 3 вещи, которые выскочили сразу с скрипкой.

  1. Вы никогда не ссылаются на Google Javascript библиотеки
  2. Вы никогда не называли initialize() и codeLatLng()
  3. Вы использовали value свойство на элементе сНу, но то, что вы действительно хотели, было getAttribute() метод.

I changed your fiddle so it's working now

Для полноты картины, исходный код был следующим

<div id="latlng" value="54.9882,-1.5747"></div> 
<div id="test"></div> 
var geocoder; function initialize() { 
geocoder = new google.maps.Geocoder(); } function codeLatLng() { 

    var input = document.getElementById("latlng").value; 
    var latlngStr = input.split(",", 2); 
    var lat = parseFloat(latlngStr[0]); 
    var lng = parseFloat(latlngStr[1]); 
    var latlng = new google.maps.LatLng(lat, lng); 
    geocoder.geocode({ 
     'latLng': latlng 
    }, function(results, status) { 

     document.getElementById("test").innerHTML = '' + (results[4].formatted_address); + '' 
    }); }​ 

Рабочий код:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<div id="latlng" value="54.9882,-1.5747"></div> 
<div id="test"></div> 
var geocoder; 
initialize(); 
codeLatLng(); 
function initialize() { 

    geocoder = new google.maps.Geocoder(); 
} 

function codeLatLng() { 

    var input = document.getElementById("latlng").getAttribute('value'); 
console.log(input); 
    var latlngStr = input.split(",", 2); 
    var lat = parseFloat(latlngStr[0]); 
    var lng = parseFloat(latlngStr[1]); 
    var latlng = new google.maps.LatLng(lat, lng); 
    geocoder.geocode({ 
     'latLng': latlng 
    }, function(results, status) { 

     document.getElementById("test").innerHTML = '' + (results[4].formatted_address); + '' 
    }); 
}​ 
+0

Извините, у меня было 1 и 2 в моем первоначальном коде. Это было 3, что запечатало сделку. Большое спасибо. –

+0

Без проблем, рад помочь. – Pete

 Смежные вопросы

  • Нет связанных вопросов^_^