我正在创建一个用户可以搜索位置的Google地图应用程序。此位置必须指向预定义标记的方向。
给出以下代码:
预定义标记:
var station = new google.maps.LatLng(52.375401, 5.218824);
var stationMarker = new google.maps.Marker({
position: station,
map: map,
});
将放置在用户搜索位置的标记:
var direction = new google.maps.LatLng(52.376423, 4.887234);
var directionMarker = new google.maps.Marker({
position: direction,
map: map,
draggable: false,
title: "test"
});
directionMarker.setIcon(({
path: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW,
scale: 6
}));
如何确保方向标记(即用户搜索结果中的标记)始终指向预定义标记?
我正在使用Google Maps API v3。
我创建了一个jsFiddle,你可以找到here
答案 0 :(得分:4)
好的,你走了:
google.maps.SymbolPath.FORWARD_CLOSED_ARROW
使其指向北方。以下是从您的方向标记到电台的compute the heading:
var heading = google.maps.geometry.spherical.computeHeading(direction,station);
然后用它来相应地旋转你的图标:
directionMarker.setIcon({
path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
scale: 6,
rotation: heading
});
在上面的代码中,您还删除了一对不必要的()
。