谷歌地图标记工具提示未显示(API v3)

时间:2013-03-04 22:19:41

标签: javascript google-maps

我正在使用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();

我错过了什么吗?

2 个答案:

答案 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)

感谢你们,我们意识到我完全误解了文档。

我确实将tooltipInfoWindow混淆了。我的项目需要InfoWindow,工具提示是Marker悬停时出现的简单文本,而InfoWindows需要自己的构造函数。

感谢您的帮助。