2013-04-03 2 views
0

Я ищу, чтобы скорректировать образец кода карты Google, найденный здесь https://developers.google.com/maps/documentation/javascript/geocoding, чтобы он геокодировал адрес при загрузке страницы. Таким образом, не более фиксированные координат (уже не загружается из моего файла вида) и должны геокодировать сам по себе, без вмешательства человекаGoogle Map API геокодирования при загрузке

var geocoder; 
var map; 
function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(-34.397, 150.644); 
    var mapOptions = { 
    zoom: 8, 
    center: latlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); 
} 

function codeAddress() { 
    var address = document.getElementById("address").value; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
     var marker = new google.maps.Marker({ 
     map: map, 
     position: results[0].geometry.location 
    }); 
    } else { 
    alert("Geocode was not successful for the following reason: " + status); 
    } 
    }); 
} 

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

ответ

0

Не знаете, что вы здесь задаете. Если вы хотите, чтобы адрес геокодируются когда страница отображается, то необходимо будет иметь значение в #address элемента:

<input type="text" id="address" value="1600 Pennsylvania Ave NW Washington, DC 20500"> 

... а затем просто вызвать initialize() и geocode() функции в window.onload функции :

window.onload = function() { 
    initialize(); 
    codeAddress(); 
} 

Вот jsFiddle демо: http://jsfiddle.net/fYbqe/

EDIT Обновлено jsFiddle, что делает его немного проще использовать пользовательский адрес: http://jsfiddle.net/fYbqe/1/

+0

Привет, это довольно близко. В любом случае, я могу удалить значение по умолчанию для метода initialize, чтобы поместить маркер в мой пользовательский адрес напрямую? http://jsfiddle.net/fYbqe/ – olimart

+0

@olivier Эти координаты (-34.397, 150.644) те, которые вы хотите запустить? Или есть адрес, который вы хотите использовать? – metadept

+0

@olivier Я обновил jsFiddle, чтобы упростить создание собственного адреса. Вам нужно просто заменить номер 1600 Pennsylvania Ave на JavaScript с адресом, который вы хотите использовать. – metadept

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