2016-09-30 6 views
1

マップ上に2000個の場所のレイヤーを追加しようとしています。コードが正常に動作している必要があります.KMLレイヤを追加するtryブロックが表示されますが、マップには何も表示されません。アンドロイドアプリでKMLレイヤーが追加されていません

Googleマップで生成したKMLファイルの問題であることを確認してください。これは、ダウンロードしたKMLファイルの例が、生成したファイルではなく完全に動作するためです。

パブリッククラスMapsActivityは、FragmentActivityはこれまで、GoogleはアドレスのCSVファイルからKMLファイルを作成することができ、この問題を持っている誰のためにOnMapReadyCallback {

private GoogleMap mMap; 
private boolean gotLocation = false; 
GPSTracker gps; 
double latitude; 
double longitude; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 
    // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 

    Intent i = getIntent(); 

    gps = new GPSTracker(this); 
    latitude = gps.getLatitude(); 
    longitude = gps.getLongitude(); 
    Toast.makeText(this, "WE HAVE GOT YOUR LOCATION: LATITUDE = " + latitude + "LONGITUDE = " + longitude, Toast.LENGTH_LONG).show(); 




} 

@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 
    mMap.setMyLocationEnabled(true); 
    mMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("Current Position")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(latitude, longitude))); 

    mMap.animateCamera(CameraUpdateFactory.zoomTo(10));; 

    try { 
     KmlLayer layer = new KmlLayer(mMap, R.raw.vha, getApplicationContext()); 
     layer.addLayerToMap(); 
     Log.v("Maps", "We should have added layer"); 
    } catch (XmlPullParserException e) { 
     e.printStackTrace(); 
     Log.v("Maps", "Pull parser exception"); 

    } catch (IOException e) { 
     e.printStackTrace(); 
     Log.v("Maps", "IO exception"); 

    } 

} 

}

<?xml version='1.0' encoding='UTF-8'?> 
<kml xmlns='http://www.opengis.net/kml/2.2'> 
<Document> 
    <name>VHA</name> 
    <description><![CDATA[]]></description> 
    <Folder> 
     <name>VHA</name> 
     <Placemark> 
      <name>Aberdeen VA Clinic</name> 
      <description><![CDATA[Address: 2301 8th Ave. NE, Suite 225   Aberdeen, SD 57401<br>State: SD<br>Phone: 605-229-3500<br>Zip: 57401]]></description> 
      <styleUrl>#icon-1899-0288D1</styleUrl> 
      <ExtendedData> 
       <Data name='Address'> 
        <value>2301 8th Ave. NE, Suite 225   Aberdeen, SD 57401</value> 
       </Data> 
       <Data name='State'> 
        <value>SD</value> 
       </Data> 
       <Data name='Phone'> 
        <value>605-229-3500</value> 
       </Data> 
       <Data name='Zip'> 
        <value>57401</value> 
       </Data> 
      </ExtendedData> 
      <address>2301 8th Ave. NE, Suite 225   Aberdeen, SD 57401</address> 
     </Placemark>} 
+0

Google MapsからKMLファイルにエクスポートしてもエクスポートされたkmlファイルをインポートしようとしても、このエラーが発生します:ファイルに無効なデータまたはサポートされていないデータが含まれているか、解析するには大きすぎます。 –

答えて

1

[OK]を実装して拡張しますそれを読むことはできません。 csvファイルのアドレスを緯度/経度に変換してからkmlファイルを作成する必要があります。

関連する問題