だから私は地理位置情報プロジェクト(asp.net MVC4)で働いています。データベースに多くの位置があり、それをマップに表示したいのですが、スクリプトが最初の位置を表示するだけの問題です。これが私のスクリプトです:
var checkpoints = [];
function setMarkers(map, locations) {
for (var i = 0; i < locations.length; i++)
{
var place = locations;
for (var i = 0; i < place.length; i++)
{
var points = new google.maps.LatLng(place[i][1], place[i][2]);
checkpoints.push(points);
}
var check = checkpoints[0];
var index = 0;
for (var j = 0; j < checkpoints.length; j++)
{
check = checkpoints[j];
index = j;
var myLatLng = new google.maps.LatLng(place[index][1], place[index][2]);
var marker = new google.maps.Marker
(
{
position: myLatLng,
map: map,
title: place[index][0],
zIndex: place[index][3]
}
);
}
}
return marker;
}
誰かが解決策やアイデアを持っていれば、私はとても感謝しています。
@david @Beetroot-Beetroot @razzak に感謝します。私のスクリプトは正常に動作するようになりました。これが私の新しいスクリプトです。
var checkpoints = [];
function setMarkers(map, locations) {
for (var i in locations) {
var points = new google.maps.LatLng(locations[i][1], locations[i][2]);
checkpoints.push(points);
var marker = new google.maps.Marker({
map: map,
position: points,
title: locations[i][0],
zindex: locations[i][4]
});
}
}
更新: スクリプトは正常に動作しますが、イベントに小さな問題があります。マーカーを dblclick すると、彼のタイトルが表示されるはずですが、最後のマーカーのタイトルが表示されるだけです:
var checkpoints = [];
function setMarkers(map, locations) {
for (var i in locations) {
var points = new google.maps.LatLng(locations[i][1], locations[i][2]);
checkpoints.push(points);
var marker = new google.maps.Marker({
map: map,
position: points,
title: locations[i][0],
zindex: locations[i][4],
});
//this is my event
google.maps.event.addListener(marker, 'dblclick', function () {
alert("I am marker " + marker.title);
});
}
}