$(function(){
//Location was "set". Perform actions.
$("#geocodesubmit").click(function(){
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
$("#map_canvas").show();
var myOptions = {
zoom: 15,
center: results[0].geometry.location,
mapTypeControl:false,
mapTypeId: google.maps.MapTypeId.ROADMAP,
scrollwheel:false,
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
draggable:true
});
}
});
return false;
});
//Marker was dragged.
google.maps.event.addListener(marker,"dragend",function(){
alert('hi');
});
});
正如你在这里看到的,当用户点击一个按钮时,我生成一个新的Google map
和一个新的。但问题是标记没有被绑定。我的一个javascript变量是undefined,我该怎么办?
当这个页面加载,有一个错误:
Uncaught ReferenceError: marker is undefined
。
我猜这是因为直到按钮被点击才启动标记。我如何成功绑定市场? (我更喜欢在点击按钮后加载地图,因为在加载页面时加载地图时存在显示问题,然后隐藏它)
这弄乱的东西了 – TIMEX 2010-12-22 01:03:30