我正在开发基于位置的应用程序。我想将给定的地图导出到 kml 文件并将 kml 文件导入到 android google map。有没有办法在 android 中实现 kml?
问问题
3825 次
2 回答
2
对于 KML 实施,您可以研究一下 -如何使用 kml 文件在地图上绘制路径?
KML文件的基本结构
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>My Simple Placemark</name>
<description>Your Description goes here</description>
<Point>
<coordinates> longitude, latitude, and optional altitude</coordinates>
</Point>
</Placemark>
</kml>
对于 Kml 教程,请访问此处,对于 KML 路径,请访问此处
要在 Android 手机上加载 KML 文件,需要包含以下代码:
final Intent myIntent =
new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://myurl.com/kmlcode/path/KML_Sa
mples.kml"));
startActivity(myIntent);
或者
final Intent myIntent =
new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("file:///myurl.com/kmlcode/path/KML_Sa
mples.kml"));
startActivity(myIntent);
上面的代码将打开谷歌地图应用程序,它将从指定的 URL 或文件请求 kml 文件。
要在 android 手机上实现 google API,您必须添加 Google API 库并将构建目标设置为 Google API。您还需要在 AndroidManifest.xml 文件中设置权限,如下所示:
<manifest
xmlns:android="http://schemas.android.com/apk/res/
android"
package="com.example.package.name">
...
<application android:name="MyApplication" >
<uses-library
android:name="com.google.android.maps" />
...
</application>
...
<uses-permission
android:name="android.permission.INTERNET" />
</manifest>
要添加 MapView 控件,您需要在布局文件中编写以下代码,例如:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="Your Maps API Key goes here"
/>
希望这会帮助你。
于 2013-10-31T05:47:04.087 回答
-2
抱歉,目前没有从给定的 android 地图导出 KML 的方法。一旦您在 Android Google Map API V2 上显示 kml,就无法恢复它。
导出您必须设计一种方法,在更新地图时更新您的 kml,或者在更新地图时更新一个跟踪所有 kml 标记和 kml 点等的类,以便以后可以序列化 kml。
导入 有一些示例,但您几乎必须滚动自己的 kml 显示。在github上找东西,也许有人大方。
于 2013-11-05T23:30:03.490 回答