我正在开发基于位置的应用程序。我想将给定的地图导出到kml文件并将kml文件导入到android google map.Is有没有办法在android中实现kml?
答案 0 :(得分:2)
对于KML实施,您可以这样查看 - How to draw a path on a map using kml file?
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教程visit here和KML路径visit here
要在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"
/>
希望这会对你有所帮助。
答案 1 :(得分:-2)
很抱歉目前没有办法从给定的Android地图导出KML。一旦您在Android Google Map API V2上显示kml,就无法恢复它。
导出 您必须设计一种方法,在更新地图时更新kml,或者在更新地图时更新跟踪所有kml标记和kml点等的类,以便稍后序列化kml。
导入 有一些例子,但你几乎必须推出自己的kml显示。在github上寻找一些东西也许有人很慷慨。