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

use*_*731 19 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'
    }
});
Run Code Online (Sandbox Code Playgroud)

use*_*731 29

因为我使用自定义标记,所以"labelOrigin"最终不得不传入.

   numberMarkerImg = {
        url: '../images/mobile/map-marker.png',
        size: new google.maps.Size(32, 38),
        scaledSize: new google.maps.Size(32, 38),
        labelOrigin: new google.maps.Point(9, 9)
   };
Run Code Online (Sandbox Code Playgroud)


Wil*_*ill 8

我在这里没有看到提到的另一个选项。您可以为标签设置 CSS 类,然后使用 CSS 设置位置。首先,将 className 添加到标签中:

label: {
    text: saved_label,
    color: 'black',
    fontSize: '12px',
    className: 'marker-position',
}
Run Code Online (Sandbox Code Playgroud)

对于CSS:

.marker-position {
    bottom: 6px;
    left: 0;
    position: relative;
}
Run Code Online (Sandbox Code Playgroud)


mar*_*tin 6

谷歌地图API V3不会让你设置MarkerLabel的位置,也就是没有xy选项.

该文件还说:

如果您将它与自定义标记一起使用,则可以使用Icon类中的labelOrigin属性重新定位它.

我可以看到你正在使用自定义标记,所以这可能是你的选择.

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