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