【发布时间】:2014-05-27 21:22:32
【问题描述】:
如何制作像 Trulia 地图中使用的谷歌地图标记?
- 标记的底部有指针
标记带有价格标签。标记似乎具有可变长度,具体取决于其中的标签。标记可以在悬停时改变颜色(灰色)或在正常颜色(绿色)旁边被点击(橙色)。
有这个库吗?
截图如下
更新
到目前为止,我找到了一个库 MarkerWithLabel,我可以重现上面的 2、3 和 4。请参阅下面的代码。 但我似乎无法在标签底部放置指针。
见小提琴http://jsfiddle.net/petrabarus/p8YhU/
var marker = new MarkerWithLabel({
position: homeLatLng,
draggable: true,
raiseOnDrag: true,
map: map,
labelContent: "$425K",
labelAnchor: new google.maps.Point(0, 0),
labelClass: "labels", // the CSS class for the label
icon: {},
isClicked: false
});
google.maps.event.addListener(marker, 'click', function() {
marker.isClicked = true;
marker.set('labelClass', 'labels active');
});
google.maps.event.addListener(marker, 'mouseover', function() {
marker.set('labelClass', 'labels hover');
});
google.maps.event.addListener(marker, 'mouseout', function() {
if (marker.isClicked){
marker.set('labelClass', 'labels active');
} else {
marker.set('labelClass', 'labels');
}
});
更新
之前的回答是
但是还有另一个问题。似乎当您显示图标时,标签的指针并没有真正指向标记。看到这个http://jsfiddle.net/petrabarus/y3M4u/。
MarkerWithLabel 确实提供了要设置的 labelAnchor 属性(请参阅 this)。但是当标签太长时,锚定位也会被打破。
【问题讨论】:
-
也许这可以帮助你jsfiddle.net/2a9aj
-
太棒了,为什么我没想到。谢谢!这是我更新的一个。 jsfiddle.net/petrabarus/N7gsd
-
MarkwithLable目前不可用。我该怎么办?
标签: javascript google-maps google-maps-api-3