android kml导入导出使用谷歌地图

时间:2013-10-28 12:47:53

标签: android google-maps kml

我正在开发基于位置的应用程序。我想将给定的地图导出到kml文件并将kml文件导入到android google map.Is有没有办法在android中实现kml?

2 个答案:

答案 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上寻找一些东西也许有人很慷慨。