Google地图自定义标签x和y位置

时间:2016-05-25 15:33:48

标签: google-maps google-maps-api-3 google-maps-markers

我正在尝试调整自定义标签的x和y位置。这可能吗? 到目前为止,我还没有找到任何有关此问题的文档。

numberMarkerImg = {
    url: '../images/mobile/map-marker.png',
    size: new google.maps.Size(32, 38),
    scaledSize: new google.maps.Size(32, 38)
};

// Letter markers
marker = new google.maps.Marker({
    position : point,
    map      : map,
    icon     : numberMarkerImg,
    draggable: false,
    labelClass: "labels",
    label: {
        text: saved_label,
        color: 'black',
        fontSize: '12px',
        x: '200',
        y: '100'
    }
});

3 个答案:

答案 0 :(得分:25)

“labelOrigin”最终不得不传入,因为我使用的是自定义标记。

76 100

答案 1 :(得分:4)

Google Maps API v3不允许您设置MarkerLabel position,其中没有xy选项。

该文件还说:

  

如果您使用自定义标记,可以使用Icon类中的labelOrigin属性重新定位它。

我可以看到你正在使用自定义标记,所以也许这就是你的选择。

或者,看看MarkerWithLabel。是默认Marker对象的扩展,具有更多可用选项。小型演示:http://jsfiddle.net/LLd4drvx/239/

答案 2 :(得分:0)

对于v3,您可以像这样使用它。图片中显示的蓝色指针是我用作svg的图标。并为此图标设置适当的标签位置。

  iconSVG = {
    path: `M13.04,41.77c-0.11-1.29-0.35-3.2-0.99-5.42c-0.91-3.17-4.74-9.54-5.49-10.79c-3.64-6.1-5.46-9.21-5.45-12.07
        c0.03-4.57,2.77-7.72,3.21-8.22c0.52-0.58,4.12-4.47,9.8-4.17c4.73,0.24,7.67,3.23,8.45,4.07c0.47,0.51,3.22,3.61,3.31,8.11
        c0.06,3.01-1.89,6.26-5.78,12.77c-0.18,0.3-4.15,6.95-5.1,10.26c-0.64,2.24-0.89,4.17-1,5.48C13.68,41.78,13.36,41.78,13.04,41.77z
        `,
    fillColor: '#0084ff',
    fillOpacity: 1,
    strokeColor: '#ffffff',
    strokeWeight: 1,
    anchor: new google.maps.Point(14, 43),
    labelOrigin: new google.maps.Point(13.5, 15)
  };

此序列是找到正确位置的更快方法。 大小 labelOrigin

enter image description here

相关问题