ngmap を使用したマップがあります。フォームでデータセットを取得し、マップで表します。新しいデータセットをリクエストすると、マップにはマーカーが表示されますが、線は表示されません。これは私のコードの一部です。
JS:
var app = angular.module('dataview', ['ngMap', 'ngSanitize'])
app.controller('DataViewCtrl', function($scope, $http)
{
$scope.makemap = function()
{
$scope.polyline = [];
$scope.graph_data.map(function(item)
{
var gpsarr = [item['latitude'], item['longitude'], 'http://maps.gstatic.com/intl/en_us/mapfiles/markers2/measle_blue.png', new Date(item[0])];
$scope.polyline.push(gpsarr);
}
$scope.polyline[0][2]='http://maps.google.com/mapfiles/ms/icons/green-dot.png';
$scope.polyline[$scope.polyline.length-1][2]='http://maps.google.com/mapfiles/ms/icons/red-dot.png';
}
});
HTML:
<map center="{{polyline[0][0]}},{{polyline[0][1]}}" zoom="15" style="width:100%; height: 500px;">
<marker ng-repeat="pos in polyline" position="{{pos[0]}}, {{pos[1]}}" icon="{{pos[2]}}" title="{{(pos[3] | date:'EEE, MM-dd-yyyy HH:mm:ss:sss')}}">
</marker>
<shape name="polyline" path="{{polyline}}" geodesic="true" stroke-color="#0000FF", stroke-opacity="1.0" stroke-weight="3"></shape>
</map>
最初に結果が正しい場合 (マーカーと線を表示)
2 回目の結果は正しくありません (新しいマーカーを表示しますが、新しい行は表示しません)