Viac

OpenLayers 2, GeoJSON nemôže získať súradnice, aby fungoval

OpenLayers 2, GeoJSON nemôže získať súradnice, aby fungoval


Snažím sa zobraziť niektoré polygóny na mape a som v OpenLayers, mapách a GeoJSON nováčikom.

Prvé, čo funguje:

vektor1 = nový OpenLayers.Layer.Vector ("GeoJSON1", {projekcia: "EPSG: 4326", stratégie: [nový OpenLayers.Strategy.Fixed ()], protokol: nový OpenLayers.Protocol.HTTP ({url: "test. php ", formát: nový OpenLayers.Format.GeoJSON ()})});

Tento kúsok kódu funguje, GeoJSON z test.php sa zobrazí na serveri na mieste, kde by mal byť. Ale GeoJSON, ktorý sa snažím dosiahnuť, je na inom serveri a vyvoláva chyby (viem, že môžem nastaviť hlavičky a fungovalo by to), ale nechcem to robiť týmto spôsobom.

Toto nefunguje:

var geojs_format = nový OpenLayers.Format.GeoJSON (); var geojsval = {"type": "Polygon", "Coordinates": [[[11.0878902207, 45.1602390564], [14,934040625, 40,9228515625], [0,8251953125, 41,0986328125], [7,63671875, 48,96484375],], [11,08782]], [11,08,790], [11,087890] ; vektor = nový OpenLayers.Layer.Vector ("GeoJSON", {projekcia: "EPSG: 4326"}); vector.addFeatures (geojs_format.read (geojsval));

Toto nefunguje - zobrazuje polygón na inom mieste, aj keď je projekcia zadaná rovnako (alebo aspoň pre mňa ...).


Toto som vyriešil. Pri vytváraní OpenLayers.Format.GeoJSON môžete takto navrhnúť konkrétnu projekciu ...

var geojs_format = new OpenLayers.Format.GeoJSON ({'internalProjection': new OpenLayers.Projection ("EPSG: 900913"), 'externalProjection': new OpenLayers.Projection ("EPSG: 4326")});

Týmto sa problém vyriešil.


Pozri si video: Create a Geographic Heat Map in Excel with a Free Add-In