我的一个javascript变量未定义,我该怎么办?
正如您在这里看到的,当用户单击一个按钮时,我会生成一个新的Google我的一个javascript变量未定义,我该怎么办?,javascript,jquery,html,css,google-maps,Javascript,Jquery,Html,Css,Google Maps,正如您在这里看到的,当用户单击一个按钮时,我会生成一个新的Googlemap和一个新的marker。但是,问题是标记没有被绑定 加载此页面时,出现错误: 未捕获引用错误:标记未定义 我猜这是因为在点击按钮之前标记不会启动。我如何成功地绑定市场?(我更喜欢在单击按钮后加载地图,因为在页面加载时加载地图,然后将其隐藏时会出现显示问题)将addListener调用移动到click处理程序中。试试这个 $(function(){ //Location was "set". Perform ac
map
和一个新的marker
。但是,问题是标记没有被绑定
加载此页面时,出现错误:
未捕获引用错误:标记未定义
我猜这是因为在点击按钮之前标记不会启动。我如何成功地绑定市场?(我更喜欢在单击按钮后加载地图,因为在页面加载时加载地图,然后将其隐藏时会出现显示问题)将
addListener
调用移动到click
处理程序中。试试这个
$(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');
});
});
为什么会把事情搞得一团糟?您当前的代码打算做什么?在设置变量之前,不能使用它。
$(function () {
var marker;
//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);
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');
});
});