【发布时间】:2010-10-21 06:59:52
【问题描述】:
首先是我的代码:
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(address) 时,我得到了输出的地址。但我无法将变量地址插入地理编码,因为它无法识别。其次,我尝试了良好的旧常规 javascript 方法并尝试获取具有唯一地址 id 的元素的 val。 Firebug 和地理编码错误告诉我该值为 NULL...
所以我很困惑,jQuery 可以抓取数据,但不能传递到地理编码中。然后常规的 javascript 告诉我我疯了,我试图通过 id 引用的字段中没有数据......
有人得到了这样的场景吗?
嗯,也许我应该提一下,我已经在 jquery 实时点击功能上执行了所有这些代码。当用户点击地图图标时,所有这些代码都应该执行......
【问题讨论】:
标签: javascript jquery google-maps-api-3