كيفية حلقة من خلال خريطة جوجل الإحداثيات ؟

StackOverflow https://stackoverflow.com/questions/816065

  •  03-07-2019
  •  | 
  •  

سؤال

أنا عالقة في محاولة حلقة من خلال هذه مجموعة من الإحداثيات التي يضع دبابيس على خريطة جوجل.

هنا هو بلدي رمز: http://pastie.org/466369

المشكلة في خط 27-36.

إذا قمت بتغيير ذلك إلى ما يلي ، سيتم وضع الرقم 1 على نفس الموقع ، ولكن أريد أن حلقة من خلال مجموعة لذا يمكن إضافة عدة دبابيس:

//var markers = [];

    for (var i = 0; i < 1; i++) {
        var point = new GLatLng(39.729308,-121.854087);
        marker = new GMarker(point);
        map.addOverlay(marker);
        markers[i] = marker;
    }

أحد يعرف لماذا هذا الإصدار أدناه هو كسر ؟

var markers = [
(39.729308,-121.854087),
(39.0,-121.0)
];

for (var i = 0; i < markers.length; i++) {
    var point = new GLatLng(markers[i]);
    marker = new GMarker(point);
    map.addOverlay(marker);
    markers[i] = marker;
}
هل كانت مفيدة؟

المحلول

أولا وقبل كل البرمجية التالية غير صحيحة جافا سكريبت.

var markers = [
(39.729308,-121.854087),
(39.0,-121.0)
];

ربما كنت من المفترض أن تفعل هذا:

var markers = [
[39.729308,-121.854087],
[39.0,-121.0]
];

ثانيا, ووفقا للوثائق GLatLng يأخذ المعلمتين, لا صفيف.

جرب هذا بدلا من ذلك:

var point = new GLatLng(markers[i][0], markers[i][1]);

تحرير

لقد تصحيح التعليمات البرمجية الخاصة بك واستضافته على شبيبة بن.يبدو أن العمل بعد تحديد القضايا المذكورة أعلاه:

http://jsbin.com/afojo

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top