2017-05-18 2 views
0

in Android Google Maps API Match ich einen Android-App entwickle und ich bin mit Google Maps Android API eine KML-Ebene zeigen, dass ich mit ArcGIS über Spanien gemacht. Ich habe diese Ebene mit ArcGIS erstellt, indem ich ein File-Geodatabase-Raster-Dataset in KML exportiert habe. Der räumliche Bezug der Datei in ArcGIS war in ED_1950_UTM_Zone_30N (Projected Coordinate System) und hat die Form von Spanien.KML-Ebene mit Kartenform nicht

Problem: Die Schicht korrekt in meiner App der Anzeige der Karten ist aber die Form der Schicht nicht Übereinstimmen perfekt mit der Form des Landes (siehe Bilder im Anhang) Allerdings, wenn ich öffne diesen KML sowohl PC Windows Desktop und Android Versionen von Google Earth passt sich der KML-Layer perfekt an die Landeskartengrenzen an.

Ich habe dieses Problem in GitHub berichtet hatte aber keine Antworten: https://github.com/googlemaps/android-maps-utils/issues/394

Dies ist das Stück Code, wo ich die KML-Ebene hinzufügen:

try { 
        mMap.clear(); 
        KmlLayer layer = new KmlLayer(mMap, R.raw.kriging_sqri, getApplicationContext()); 
        layer.addLayerToMap(); 
        mapModeKML = true; 
       } catch (XmlPullParserException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 

Und dies ist der Inhalt meiner kriging_sqri. KML-Datei, in res/raw:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd http://www.google.com/kml/ext/2.2 http://code.google.com/apis/kml/schema/kml22gx.xsd"> 
<Document id="Kriging_shp3_Clip"> 
    <name>Kriging_shp3_Clip</name> 
    <Snippet></Snippet> 
    <GroundOverlay id="0"> 
    <Snippet></Snippet> 
    <drawOrder>1000</drawOrder> 
    <name>Kriging_shp3_Clip</name> 
    <Icon> 
     <href>file:///storage/emulated/0/BioApp/Layer0.png</href> 
     <viewBoundScale>1.0</viewBoundScale> 
    </Icon> 
    <LatLonBox> 
     <north>44.67706278743195</north> 
     <south>35.085026094869</south> 
     <east>6.152473147346782</east> 
     <west>-10.78014121100213</west> 
     <rotation>0</rotation> 
    </LatLonBox> 
    </GroundOverlay> 
</Document> 
</kml> 

Dies ist, wie mein app die KML-Ebene zeigt (beachten Sie, wie seine Form nicht mit dem Land Landgrenzen übereinstimmt, besonders bemerkenswert an seiner Süd- und Ostküste). This is how my app displays the KML layer (notice how its shape does not match with the country land boundaries, specially remarkable on its south and east coast.

Aber das gleiche KML wird korrekt in Google Earth-Anwendungen angezeigt (ich habe es auf Desktop-und Android-Versionen versucht). Dies ist, wie es in Android App von Google Earth sieht:

enter image description here

Jede mögliche Hilfe würde geschätzt!

Antwort

0

Beim Exportieren in KML sollten Sie Ihre Daten immer zuerst in WGS84 (EPSG 4326) konvertieren. Versuchen Sie, Ihre Daten erneut zu projizieren und dann erneut in KML zu exportieren. Wenn das nicht funktioniert, teilen Sie uns bitte eine Kopie der neuen KML-Datei und der Bilddatei ("Layer0.png" im obigen Beispiel) mit, damit wir die Daten sehen und beim Debuggen helfen können.

+0

Danke! Ich werde es versuchen und einen Kommentar veröffentlichen, um die Ergebnisse zu teilen. – Tragalunas