android 应用程序中 Google 地图上的 KML

KML on Google Maps in android application

谁能知道如何在 android 应用程序上添加 KML 图层作为 google 地图中的叠加层。

KML 不是静态 KML 文件,只能由用户上传。我必须将 KML 上传到我的服务器,然后我想在 google 地图中显示相应的 KML 层,该地图显示在 android 应用程序本身中。

有什么想法吗?请提供一些示例。

我是 KML 新手。所以请...

做同样的事情...

1) 在您的资源文件夹下创建一个文件夹(命名为 "raw"(随心所欲。请不要忘记在访问 KLM 文件时更改名称)) 例如:- res/raw

2) 将您的 KML 放入此文件夹。

3) 在你的 activity,

为图层创建变量

 KmlLayer layer;

4) 在您的 onCreate 函数中,只需调用 KML 文件。即创建图层。

layer = new KmlLayer(googleMap, R.raw.landmarkkml, getApplicationContext());

这里有三个参数。

第一个 google 地图对象。 第二个 KML 文件路径。 3、应用上下文。

5) 现在我们必须添加带有 google map.To 的 kmllayer,

 layer.addLayerToMap();

完整代码

package com.yourdomain.kmlongooglemap;
import android.app.Activity;
import android.content.Context;
public class KmlActivity extends Activity {
private GoogleMap googleMap; // Google map object.
KmlLayer layer; //KML object.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.kmlactivitylayout); 
    try {
        layer = new KmlLayer(googleMap,R.raw.lanmark, getApplicationContext()); // creating the kml layer
        layer.addLayerToMap();// adding kml layer with the **google map**
    } catch (Exception e) {
        e.printStackTrace();
    }
  });

}

您可以 运行 您的 application.Here 您可以在 GOOGLE 地图[=43] 上看到 KML =].

谢谢。

我尝试创建 class KmlLayer 的变量,但无法识别它。

Autoimport 不导入 kmllayer 并显示错误。

有我的进口:

import android.Manifest;
import android.content.pm.PackageManager;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.UiSettings;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

这是我的代码:

 KmlLayer kmlLayer = new KmlLayer(mMap, R.raw.salamanca_ceas, getApplicationContext());
    kmlLayer.addLayerToMap();
    moveCameraToKml(kmlLayer);

怎么了?