【发布时间】:2018-10-15 13:30:54
【问题描述】:
我正在尝试使用 angular-google-maps (doc here) 用折线绘制一条线。
我对 AngularJS 不是很熟悉,所以我在做我想做的事情时遇到了一些困难。
我可以用这个功能在地图上打印标记:
function addPosition (position, refresh) {
if (! _.mHas(position, "longitude", "latitude", "username")) {
console.log("That's not a proper position entry !");
return;
}
if (position.latitude === '' || position.longitude === '' ) return;
vm.map.markers.push({
id : vm.map.markers.length,
coords : {
longitude : position.longitude,
latitude : position.latitude
},
name : position.username,
options : {
icon : 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png',
draggable : false
}
});
if (refresh) {
$timeout(function () {
vm.map.control.refresh();
}, 5);
}
}
我想在我的标记之间绘制一条折线,但我没有很好的逻辑来从我的标记中获取所有坐标并用它们创建一条路径。 我知道我必须做类似的事情:
function userLocation (position){
var lat = position.latitude;
var lng = position.longitude;
var pathLine = [new google.maps.LatLng(lat, lng)];}
然后用这样的东西绘制折线:
$scope.polylines = [{
path: pathLine,
stroke: {
color: '#000000',
weight: 3
},
editable: false,
draggable: false,
geodesic: true,
visible: true,
}];
由于我的“逻辑”,我陷入了一个概念,我得到每个标记的坐标,它给我的路径结果是:我的第一个标记的坐标和坐标 NULL,以及,NULL 坐标和我的第二个标记的坐标。
如果您需要 here,我已经用代码创建了一个 JSFiddle,没有 $scope.Polyline。
【问题讨论】:
标签: javascript angularjs google-maps angular-google-maps