2016-12-07 2 views
0

In meinem js Skript Ich habe:Wie ein Punkt von Google Mercator WSG84 Projektion in Javascript konvertieren

<script type="text/javascript"> 
    document.addEventListener("DOMContentLoaded", function (event) { 
     var overlay_layers = {}; 
     map = L.map('the_map').setView(new L.LatLng({{ resource.center_x }}, {{ resource.center_y }}), {{ resource.zoom }}); 

     L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpandmbXliNDBjZWd2M2x6bDk3c2ZtOTkifQ._QA7i5Mpkd_m30IGElHziw',{ 
      maxZoom: 18, 
      attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' + 
      '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 
      'Imagery © <a href="http://mapbox.com">Mapbox</a>', 
      id: 'mapbox.streets' 
     }).addTo(map); 

     [..] 
</script> 

Der Punkt ({{ resource.center_x }}, {{ resource.center_y }}) in Google Mercator-Projektion ist. In meiner Map muss ich das WSG84-Koordinatensystem verwenden. Wie kann ich meinen Punkt in das benötigte System konvertieren?

Antwort

0

fand ich eine Bibliothek, die Magie zu tun ich suchte: http://proj4js.org/.

<script type="text/javascript"> 
    document.addEventListener("DOMContentLoaded", function (event) { 
     var overlay_layers = {}; 

     var firstProjection = proj4('EPSG:3857');    
     var secondProjection = proj4('EPSG:4326'); 

     var point_wsg84 = proj4(firstProjection,secondProjection,[{{ resource.center_x }}, {{ resource.center_y }}]); 
     var map = L.map('the_map').setView([point_wsg84[1], point_wsg84[0]],6); 

    [..] 
</script> 

Danke trotzdem!

Verwandte Themen