Googleマップを使用してライブのトラッキングを開始しようとしていますが、データベースから新しい場所をajax経由で取得しようとしていますが、問題はポリラインを描画することです。 "InvalidValueError:index 0:LatLngまたはLatLngLiteralではありません:オブジェクトではありません "つまり、" line "変数値はここではgoogle maps linkのようにポイントとして使用できません。 VAR行= {LAT:LAT、LNG:LON}ここでコードGoogleマップでポリラインを使用したトラッキングの問題を解決する
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = null;
function autoUpdate() {
$.post('ajax/track.php',{car:'1'}).done(function (data) {
var parsed = JSON.parse(data);
var lat = parsed.lat,
lon = parsed.lon;
var newPoint = new google.maps.LatLng(lat,lon);
var line = "{lat: "+lat+", lng: "+lon+"},";
if (marker) {
// Marker already created - Move it
marker.setPosition(newPoint);
var flightPlanCoordinates = [
];
flightPlanCoordinates.push(line);
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
else {
marker = new google.maps.Marker({
position: newPoint,
map: map,
icon: 'images/1.png',
});
}
map.setCenter(newPoint);
});
setTimeout(autoUpdate, 5000);
}
autoUpdate();
@geocodezipによって示唆されるようにUPDATEです。私は、私は最後の場所だけではない配列を取得コンソールに
var line = {lat: parseFloat(lat), lng: parseFloat(lon)};
にそれを変更し、私はこのエラー「ではない緯度経度やLatLngLiteral:::インデックス0:プロパティLATにない数InvalidValueError」を得た 場所
が、ポー私は同じエラーが発生しました –
最終エラーは修正されましたが、新しいエラー "InvalidValueError:インデックス0:LatLngまたはLatLngLiteralではありません:プロパティlat:数字ではありません" –
私はライン変数をvar line = {lat:parseFloat(lat)、lng:parseFloat(lon)};今はエラーが発生していませんが、その行は描画されません –