Во-первых, заранее спасибо за то, что нашли время, чтобы помочь мне с этим, я ценю ваши усилия.
У меня проблема с google maps api, JavaScript версии 3.
Я написал следующий код
$('.adr').ready(function(){
initialize();
})
function initialize() {
var myLatlng = codeAddress();
var myOptions = {
zoom: 14,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
}
function codeAddress()
{
var geocoder = new google.maps.Geocoder();
var address;
var street = cropAdr($(".street-address").text());
var city = cropAdr($(".locality").text());
var state = cropAdr($(".region").text());
var zip = cropAdr($(".zip").text());
address = street + ", " + city + ", " + state + ", " + zip;
geocoder.geocode( {'address': address}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
var latlng = results[0].geometry.location;
return latlng;
}
else
{
alert("Geocode was not successful for the following reason: " + status);
return null;
}
});
}
function cropAdr(args)
{
var index = args.indexOf(":");
var value = args.substr(index+1);
return value;
}
Но это не работает.
Я проверил значение возврата «results[0].geometry.location» и оно идеально, поэтому манипуляция адресами работает. «results[0].geometry.location» — это объект google.maps.Latlng, но я попытался выделить только координаты в виде строк, а затем создать новый объект google.maps.Latlng, но без кубиков.
но если я вручную скопирую эту строку и вставлю значение в "var myLatlng = new google.maps.Latlng(Вставьте сюда скопированную строку!)", все заработает!!
Я не вижу, что еще не так с этим сценарием (извиняюсь за беспорядок Jquery и Javascriptpt).