HTML5 jQuery GeoLocation с Google Map - PullRequest
1 голос
/ 13 июля 2011

Здравствуйте. Я использую следующую функцию GeoLocation для определения местоположения посетителя.

function success(position) {
  var s = document.querySelector('#location');

  if (s.className == 'success') {
    return;
  }

  s.value = "found you!";
  s.className = 'success';

  var mapcanvas = document.createElement('div');
  mapcanvas.id = 'mapcanvas';
  mapcanvas.style.height = '200px';
  mapcanvas.style.width = '380px';

  document.querySelector('article').appendChild(mapcanvas);

  var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
  var myOptions = {
    zoom: 15,
    center: latlng,
    mapTypeControl: false,
    navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("mapcanvas"), myOptions);

  var marker = new google.maps.Marker({
      position: latlng, 
      map: map, 
      title:"You are here!"
  });
}

function error(msg) {
  var s = document.querySelector('#status');
  s.innerHTML = typeof msg == 'string' ? msg : "failed";
  s.className = 'fail';

  // console.log(arguments);
}

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(success, error);
} else {
  error('not supported');
}

Как вы видите, напишите в поле значение "нашел вас!" когда процесс успешен.

Теперь, что мне нужно, вместо того, чтобы писать "нашел тебя!" Мне нужно написать местоположение посетителя.

Так что, если участник находится в Риме, он напишет "Рим, Италия"

Как мне этого добиться?

Спасибо за вашу помощь !!!

1 Ответ

1 голос
/ 13 июля 2011

Вы хотите геокодирование (или обратное геокодирование). Я написал краткий обзор здесь на моем форуме поддержки. Смотрите ссылки в конце поста.

Более сложный пример: мой учебник с использованием карт Google, jquery, маркеров и геокодирования, включает источник для получения полного адреса из координат широты / долготы.

...