2

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 回目の結果は正しくありません (新しいマーカーを表示しますが、新しい行は表示しません)

ここに画像の説明を入力

4

0 に答える 0