操纵谷歌地图标记位置

时间:2015-10-25 12:42:56

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

我直接从文档

获得这个基本地图
function initMap() {
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 4,
    center: {lat: -33, lng: 151}
  });

  var image = 'images/beachflag.png';
  var beachMarker = new google.maps.Marker({
    position: {lat: -33.890, lng: 151.274},
    map: map,
    icon: image
  });
}

并生成此https://google-developers.appspot.com/maps/documentation/javascript/examples/full/icon-simple

我想在地图上以可视方式将标记向上或向下移动一些像素,而不是按某些坐标移动它。

我还想在某个时候倾斜标记。 api是否允许我以我描述的方式操纵标记?。

2 个答案:

答案 0 :(得分:1)

您可以使用

之类的设置来设置自定义图像标记的大小,原点和锚点
var image = {
    url: 'images/beachflag.png',
    size: new google.maps.Size(20, 32),
    origin: new google.maps.Point(0, 0),
    anchor: new google.maps.Point(0,32)
};

通过设置originanchor参数,您可以将标记图标向任意方向移动一些像素。对于倾斜标记,您可以使用倾斜标记图像生成另一个PNG图像,并替换标记的图标。

有关更全面的信息,请参阅Google Maps Javascript API文档中的complex icon marker example

答案 1 :(得分:0)

你可以看一下创建自己的标记作为trans .png,底部或顶部有间隙吗?您可以在创建png时旋转图像。

https://developers.google.com/maps/documentation/javascript/examples/marker-symbol-custom

修改

请参阅@chkaiser关于添加原点和锚点的答案,比在顶部或底部留下间隙更好; - )