我正在使用Google Maps API v3实现带有标记和标记的相当标准的地图。
我正在尝试一步一步走,而且当我的标记可以点击时我就被困住了。
我在文档中读到默认情况下可以单击标记,并显示title
参数设置的内容。
我在我的地图中,在预期位置成功显示我的标记。但我无法显示工具提示。标记看起来像可点击(光标变化),但点击它们没有任何反应。我应该期待工具提示出现。
这是我的代码,它是我在API文档中找到的一个简单的实现,有一些曲折。
* 注意:* 我正在迭代stores
JS对象来获取我的所有数据。 name
属性是纯文本。
/* Show Stores Data on Map
----------------------------------------------------- */
var center = new google.maps.LatLng( 47.56980820673984, -71.09390248632815 );
function initialize()
{
var mapOptions = {
center : center,
zoom : 6,
mapTypeId : google.maps.MapTypeId.ROADMAP,
zoomControl : true,
disableDefaultUI : true
};
theMap = new google.maps.Map(
document.getElementById("storemap"), mapOptions );
/* place markers on the map */
$.each( stores, function(i,v)
{
stores[i]['marker'] = new google.maps.Marker(
{
position : new google.maps.LatLng( this.coords.lat, this.coords.lng ),
map : theMap,
title : this.name
});
});
}
initialize();
我错过了什么吗?
答案 0 :(得分:0)
你可能会误用Jquery的。每次,试试这个:
/* place markers on the map */
stores.forEach(function( store ){
var tmpmarker = new google.maps.Marker(
{
position : new google.maps.LatLng( store.coords.lat, store.coords.lng ),
map : theMap,
title : store.name
}
);
google.maps.event.addListener(tmpmarker, 'click',
(function(a){
return function(){
console.log(JSON.stringify(a, null, 2));
};
})(store)
);
store['marker'] = tmpmarker;
});
据我所知,单击标记时没有默认弹出窗口。 title属性应显示为鼠标悬停时的工具提示。
答案 1 :(得分:0)
感谢你们,我们意识到我完全误解了文档。
我确实将tooltip
与InfoWindow
混淆了。我的项目需要InfoWindow,工具提示是Marker悬停时出现的简单文本,而InfoWindows需要自己的构造函数。
感谢您的帮助。