Я новичок в Google Maps API. Я взял образец из руководства и попытался изменить его так, как мне нужно, поэтому вот что я пытаюсь сделать:
Это пример из руководства Google Maps
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng( 40.714353, -74.005973);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
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);
}
});
}
Я немного изменил функцию codeAddress и пытаюсь вызвать ее при загрузке страницы следующим образом:
function codeAddress(address) {
//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);
}
});
}
codeAddress("Some Address");
Но это дает мне ошибку javascript "геокодер не определен". Как заставить скрипт ждать, пока карта загрузится, а затем запустить функцию codeAddress? Я не хочу указывать свой адрес во время инициализации.
Надеюсь, это понятно
Заранее спасибо.