如何显示标记旁边的位置名称

时间:2015-12-07 15:30:22

标签: google-maps google-maps-markers

我想显示标记旁边位置的名称,如下面的屏幕截图所示。目前,我还不需要在Google地图中显示其他详细信息。我只关心酒店的名称应该与标记一起出现。

示例:Courtyard Marriott Hotel - 显示名称的Google地图链接。

Sample location

我创建了演示jsFiddle(没有显示标签)

var googleMap;
var hotelLocation = {
  lat: 43.681592,
  lng: -79.713612
};
var mapCenter = hotelLocation; //{ lat: 43.690497, lng: -79.966831 };

google.maps.event.addDomListener(window, 'resize', function() {
  //https://stackoverflow.com/questions/8792676/center-google-maps-v3-on-browser-resize-responsive
  var center = googleMap.getCenter();
  google.maps.event.trigger(googleMap, "resize");
  googleMap.setCenter(center);
});

function InitializeGoogleMaps() {     
  //http://www.latlong.net/convert-address-to-lat-long.html
  //90 Biscayne Crescent, Brampton, ON - Address of Hotel   - { lat: 43.681592, lng: -79.713612 };
  googleMap = new google.maps.Map(document.getElementById('map'), {
    zoom: 14,
    center: mapCenter
  });

  var marker = new google.maps.Marker({
    position: hotelLocation,
    map: googleMap,
    title: 'Courtyard by Marriott'
  });
}


InitializeGoogleMaps();

我已经通过了许多搜索术语(因为我不确定这个标签的正确用词是什么,并且通过了Maps Marker API)但是到目前为止还没有运气。我认为下面的线程似乎是在同一条线上,但我希望在谷歌地图中内置支持,而不是去额外的lib。

2 个答案:

答案 0 :(得分:1)

更有可能发表评论,但请原谅(我还不能发表评论;))

定位可以通过保证金完成,而不是按标记大小计算。

这是评论https://stackoverflow.com/a/34145265/2686510

的ndd jsFiddle的微小更新

http://jsfiddle.net/6t3pyr94/

有人会发现让css自由标记位置很有帮助。

 .map-marker-label {
    position: absolute;
    color: red;
    font-size: 16px;
    font-weight: bold;
    /* Use margin to position the text */
    /* top, left position is the place of marker position */
    margin-top: -45px;
    margin-left: 20px;
 }

答案 1 :(得分:-1)

您可以使用pixelOffset:

 pixelOffset: new google.maps.Size(100,140);

结果将是:

var marker = new google.maps.Marker({
 position: hotelLocation,
 map: googleMap,
 title: 'Courtyard by Marriott',
 pixelOffset: new google.maps.Size(100,140);
});