Как получить отдельный объект с помощью getGeometry ()? - PullRequest
0 голосов
/ 17 марта 2020

У меня есть файл .geo json. Внутри файла есть одна функция, и у этой функции есть это свойство:

"geometry": { "type": "LineString", "coordinates": [ [ 103.766547, 1.377559, 0.0 ], [ 103.771405, 1.374479, 0.0 ] ] }

То, что я пытаюсь сделать сейчас, выглядит примерно так: когда я наводю курсор мыши на функцию, я хочу чтобы получить два отдельных объекта latlng из массива координат. Используя мой код ниже:

 map.data.addListener("mouseover", function(event) {
    var coordinates = event.feature.getGeometry("coordinates");
    console.log(coordinates);
  });

Ниже показано, что показано внутри консоли:

enter image description here

, поэтому переменная coordinates содержит одно свойство 'i'. 'i' - это массив с двумя объектами внутри.

Можно ли получить два отдельных объекта latlng из этого массива?

Я хочу добиться этого, потому что надеюсь, что позже смогу получить расстояние между этими двумя последними объектами.

1 Ответ

0 голосов
/ 17 марта 2020

LineString имеет метод .getArray(), который возвращает массив объектов LatLng:

 map.data.addListener("mouseover", function(event) {
    var coordinates = event.feature.getGeometry("coordinates").getArray();
    for (var i=0; i<coordinates.length; i++) {
      console.log(coordinates[i].toUrlValue(6));
    }
  });

подтверждение концепции скрипта

...