Google Maps/Places API JavaScript-无法读取属性';设置内容';未定义的
我试图在单击使用places查询放置的每个标记时显示一个信息窗口。我正在使用地理定位找到位置,然后显示附近所有的酒吧。我希望能够单击每个标记,它会显示酒吧的名称(place.name) 我在控制台中单击标记时遇到的错误是“无法读取未定义的属性“setContent”” //谷歌的地方代码不包括我的地理位置代码,这很好//Google Maps/Places API JavaScript-无法读取属性';设置内容';未定义的,javascript,jquery,google-maps,google-places-api,Javascript,Jquery,Google Maps,Google Places Api,我试图在单击使用places查询放置的每个标记时显示一个信息窗口。我正在使用地理定位找到位置,然后显示附近所有的酒吧。我希望能够单击每个标记,它会显示酒吧的名称(place.name) 我在控制台中单击标记时遇到的错误是“无法读取未定义的属性“setContent”” //谷歌的地方代码不包括我的地理位置代码,这很好// function initMap() { myLatLng = new google.maps.LatLng(lat,long); var Options = { sc
function initMap() {
myLatLng = new google.maps.LatLng(lat,long);
var Options = {
scrollwheel: false,
zoom:15,
center: myLatLng,
disableDefaultUI: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map'),Options);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
label: "Y",
});
var service = new google.maps.places.PlacesService(map);
service.nearbySearch({
location: myLatLng, //Uses geolocation to find the following
radius: 500,
types: ['bar']
}, callback);
};
function callback(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
}
}
function createMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
函数initMap(){
myLatLng=新的google.maps.LatLng(lat,long);
变量选项={
滚轮:错误,
缩放:15,
中心:myLatLng,
disableDefaultUI:true,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map'),选项);
var marker=new google.maps.marker({
职位:myLatLng,
地图:地图,
标签:“Y”,
});
var service=newgoogle.maps.places.PlacesService(地图);
服务,近距离搜索({
位置:myLatLng,//使用地理位置查找以下内容
半径:500,
类型:['bar']
},回调);
};
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
我发现这段代码和我的问题完全一样,infowindow没有加载,控制台中也出现了同样的错误
下面是我在控制台中得到的错误:
谢谢大家! 未定义infowindow变量。在调用
infoWindow.setContent()之前,请尝试infoWindow=new google.maps.infoWindow
代码>
在这里查看有关如何使用infoWindows的详细信息:我刚刚添加了此选项,错误保持不变。我知道我遗漏了一些东西,只是不知道是什么。你能更新代码片段,让我看看你在哪里添加了它吗?另外,请确保像这样定义要附加到的地图:infoWindow=new google.maps.infoWindow({map:map})代码>终于开始工作了!我添加了这个“var infowindow=new google.maps.infowindow();”info-my-createMarker函数。现在,它会在信息窗口中显示onclick,其中包含每个项目的地名。谢谢你的帮助!:)