Я пытаюсь создать приложение CakePHP, которое позволит пользователю обновить информацию об адресе, а затем сохранить новый широту / долготу в базе данных. Я использую геокодер Google для получения информации о широте и долготе, но моя функция не работает. У меня почти нет опыта работы с Javascript, поэтому я не уверен, что сделал неправильно. Мой код как бы объединяет то, что я видел в интернете. Пожалуйста, если бы кто-то мог мне посоветовать, это было бы здорово.
Вот моя функция геокодирования:
<script type="text/javascript">
function getLatLong(address){
var geo = new google.maps.Geocoder;
var address =<?php echo $this->data['Location']['address'].' '.$this->data['Location']['city'].', '.$this->data['Location']['state'].' '.$this->data['Location']['zip']; ?>;
geo.geocode({'address':address},function(results, status){
if (status == google.maps.GeocoderStatus.OK) {
return results[0].geometry.location;
alert('The address is' + address);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
</script>
Над моим html вот скрипт для его вызова по загрузке страницы:
<script>
if(window.attachEvent) {
window.attachEvent('onload', getLatLong());
} else {
if(window.onload) {
var curronload = window.onload;
var newonload = function() {
curronload();
getLatLong();
};
window.onload = newonload;
} else {
window.onload = getLatLong();
}
}
</script>
У меня в заголовке документа:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
Когда я загружаю страницу и проверяю ее хромом, я вижу
Uncaught ReferenceError: getLatLong is not defined (anonymous function)1:89
1:106 Uncaught SyntaxError: Unexpected identifier