Написать местоположение и получить геокорды, не работает должным образом?JS - PullRequest
0 голосов
/ 23 октября 2011

Ссылка удалена

Это мой сайт. Я работаю над тем, чтобы вы могли ввести местоположение в поле ввода поиска, а затем увидеть thex xx km от ресторана.

Теперь у меня почти все работает. Если вы видите исходный код, вы можете увидеть, как он работает. Это показывает адрес (что вы искали). А затем show address превращает его в шнур l / lng и передает его в computeRestaurants (), который вычисляет расстояния между указанным вами местоположением и ресторанами.

Каким-то образом, когда я бегу:

computeRestaurants(new google.maps.LatLng(55.662133, 12.508028)); 

вне функций, работает и выдает правильные значения.

Но когда я это сделаю:

showAddress('Valby'); // (like in the source code)

Вы можете видеть, что он возвращает NaN. А внутри showAddress () он выполняет ту же команду, что и написанную выше, computeRestaurants (точка)

Так почему же он не будет работать должным образом?

point в showAddress: (55.662133, 12.508028), поэтому он уже преобразован в шнур LatLng и, следовательно, нет необходимости new google.maps.latlng(...

Моя единственная ставка прямо сейчас - скобки () ??

1 Ответ

1 голос
/ 23 октября 2011

замените свой адрес шоу следующим:

var geocoder;
function showAddress(address)
{
  if (typeof(geocoder) == 'undefined') geocoder = new google.maps.Geocoder();

  geocoder.geocode( { 'address': address}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      computeRestaurants(results[0].geometry.location);
    } else {
      alert("Geocode was not successful for the following reason: " + status);
    }
  });
}

Вы используете сочетание vis и v3 apis, и в этом проблема.

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