Calcola la gamma e l'altitudine del Google Earth KML Element Element per adattarsi a tutte le funzionalità (Poligoni)

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

  •  14-11-2019
  •  | 
  •  

Domanda

Ho diversi poligoni disegnati sulla superficie in Google Earth Plugin.Genera un KML da loro.

Domanda è come posso calcolare i parametri per la lookat in modo che la vista includa tutti i poligoni quando è aperto nel desktop Google Earth? Per lat e lon è abbastanza semplice - calcolare il centro del riquadro di delimitazione, ma per quanto riguarda l'altitudine e i parametri della gamma?

Ad esempio abbiamo due poligoni:

1:
    40.724536 -74.001914
    40.724102 -74.001091
    40.723003 -74.002067
    40.723392 -74.002891
2:
    40.723186 -74.003112
    40.722843 -74.002311
    40.721977 -74.003036
    40.722320 -74.003738
.

Allora Lon and Lat sarà
LON= (40.724536 + 40.721977) /2=40.7232565
Lat= - (74.001091 + 74.003738) /2=-74.0024145

Ora come calcolare l'intervallo e l'altitudine?

È stato utile?

Soluzione

Take a look at the Google Earth API Utility Library. It augments the functionality of the Earth API providing useful helper methods which wrap up commonly needed tasks for you.

It includes a createBoundsView() method which will build you a LookAt object configured to fit a given bounding box within the viewport. Does exactly what you need I think. e.g.

function flyToBox(max_x, max_y, min_x, min_y) {
  var bounds = new geo.Bounds([min_y, min_x], [max_y, max_x]);
  var options = {aspectRatio : $('#map3d').width() / $('#map3d').height(), scaleRange : 2};
  ge.getView().setAbstractView(gex.view.createBoundsView(bounds, options));
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top