2017-05-18 8 views
0

나는 안드로이드 응용 프로그램을 개발하고 내가 Google지도 안드로이드 API 내가 스페인에 걸쳐는 ArcGIS로 만든 KML 층을 보여주기 위해 사용하고있는지도 모양으로 일치하지 않습니다. File Geodatabase Raster Dataset을 KML로 내보내 ArcGIS로이 레이어를 만들었습니다. ArcGIS에서 파일의 공간 참조는 ED_1950_UTM_Zone_30N (Projected Coordinate System)에 있었고 스페인 모양이었습니다.KML 층은 안드로이드 구글지도 API

문제 : 레이어 내 애플지도하지만 에 제대로 표시되어 레이어의 모양 (첨부 이미지 참조) 그러나, 국가의 모양과 완벽하게 일치하지 않는 둘 다 PC에서이 KML을 열 때 Google 데스크톱의 Windows 데스크톱 및 Android 버전 KML 레이어는 국가 별지도 경계에 맞게 완벽하게 조정됩니다.

나는 GitHub의에서이 문제를보고 있지만 답이 없었습니다 : https://github.com/googlemaps/android-maps-utils/issues/394

이 내가 KML 레이어를 추가 코드 조각은 다음과 같습니다

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(); 
       } 

그리고 이것은 내 kriging_sqri의 내용입니다. 원시 입술에있는 KML 파일,/:

<?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> 

이 내 응용 프로그램은 그 모양이 나라의 토지 경계와 일치하지 않는 방법을 발견합니다 (KML 층을 표시하는 방법입니다, 특히 남부와 동부 해안에서 주목할 만하다.)

하지만이 동일한 KML은 Google 어스 응용 프로그램에 올바르게 표시됩니다 (데스크톱 및 Android 버전에서 사용해 보았습니다). 이것은 구글 어스의 안드로이드 응용 프로그램에 모습입니다 :

enter image description here

어떤 도움을 주시면 감사하겠습니다!

답변

0

KML로 내보낼 때 데이터를 먼저 WGS84 (EPSG 4326)로 변환해야합니다. 데이터를 다시 투영 한 다음 KML로 다시 내보내십시오. 그래도 문제가 해결되지 않으면 Google에 알려주세요. 새로운 KML과 이미지 파일 (위의 샘플에서 "Layer0.png")을 모두 공유하여 데이터를보고 디버그하는 데 도움을 받으시기 바랍니다.

+0

감사! 내가 그것을 시도하고 결과를 공유하는 의견을 게시 할 것입니다. – Tragalunas