首先,这是我的问题代码:
var geocoder;
var map;
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 18,
center: latlng,
mapTypeId: google.maps.MapTypeId.HYBRID
}
map = new google.maps.Map(document.getElementById("details"), myOptions);
var q = $("span#address").text() + ' ' + $("span#city").text() + ' ' +$("span#state").text() + ' ' +$("span#zip").text();
var t = document.getElementById('address').value;
console.log(t);
//var city = document.getElementById("home-city").value;
//console.log(city);
geocoder.geocode( { 'address': t}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
//draggable: true,
position: results[0].geometry.location
});
} else {
console.log("Geocode was not successful for the following reason: " + status);
}
});
好的,所以我的问题是我可以加载到geocoder.geocode()这样的变量
var address = "string address";
我想从我拥有的特定页面中获取地址并将地址存储在var中,然后将该var传递给Gmaps,并且在完美的世界中这应该有用!但似乎没有这样的世界; - (
所以我做了一些测试。有趣的是......
var q = $("span#address").text() + ' ' + $("span#city").text() + ' ' +$("span#state").text() + ' ' +$("span#zip").text();
当我执行console.log(地址)时,我的地址输出了。但是我无法将变量地址插入到地理编码中,因为它无法识别它。其次,我尝试了旧的常规javascript方法,并尝试使用唯一的地址id获取元素的val。 Firebug和地理编码错误告诉我该值为NULL ...
所以我很困惑,jQuery可以抓取数据,但无法传递到地理编码中。然后定期的javascript告诉我,我很疯狂,我在尝试通过id引用的字段中没有数据......
任何人都有这样的场景吗?
嗯,也许我应该提一下,我在jquery实时点击功能上执行了所有这些代码。当用户点击地图图标时,所有这些代码都应该执行...
答案 0 :(得分:0)
id
的HTML元素。getElementById()
检索时,使用.value
获取元素的值(不是.val
)答案 1 :(得分:0)
所以问题是我首先声明谷歌地图然后尝试引用地址信息。在创建新的Google地图API参考之前,我将var地址移到了顶部。