利用openstreetmap在android应用中添加地图
来源:互联网 发布:windows系统怎么录屏 编辑:程序博客网 时间:2024/05/01 23:01
利用openstreetmap在android应用中添加地图
OpenStreetMap是一个可供自由编辑的世界地图,它是由像您这样的用户创造的。OpenStreetMap允许您查看,编辑或者使用世界各地的地理数据来帮助您。
最近写android应用(长理校园通)的时候,想在自己应用上显示地图。考虑了google地图、百度地图、高德地图等等,但是运行了他们的samples后发现他们提供的地图都不是很详细,因为我需要具体到每个小建筑的名称,比如说我们宿舍楼的名字,还有就是要把我们寝室后面那条小路都给显示出来,哈哈。这些地图都没有多大可能会为我去把他们添加进他们的地图里面。但是OpenStreetMap不一样了,因为他的地图是由我们这样有兴趣的人自由编辑的,这样我就可以更详细地把我们学校显示在我的应用上面了,以后大一的学弟、学妹就不用愁了。
下面就看看具体的步骤:
1、首先建立自己的项目(和平常一样)
需要添加以下jar文件(记住是Android Dependencies,而不是reference de。。):
2、在AndroidManifest.xml添加以下权限说明
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />3、编写layout文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <org.osmdroid.views.MapView android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:enabled="true" tilesource="MapquestOSM" /> </RelativeLayout>4、编写activity文件
package com.example.android.accelerometerplay;import org.osmdroid.tileprovider.tilesource.TileSourceFactory;import org.osmdroid.util.GeoPoint;import org.osmdroid.views.MapController;import org.osmdroid.views.MapView;import android.app.Activity;import android.os.Bundle;public class GeoMapActivity extends Activity {private MapController mapController;private MapView mapView;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mapView = (MapView) findViewById(R.id.map);mapView.setTileSource(TileSourceFactory.MAPNIK);mapView.setBuiltInZoomControls(true);mapController = mapView.getController();mapController.setZoom(15);GeoPoint point2 = new GeoPoint(28.071876, 113.004551);mapController.setCenter(point2);}}5、运行程序你可以看见我的学校了
以下是我的应用截图:
你应该可以看出来,它还可以放大地图的。但由于我们学校的地图我还没有完全编辑好,所以还比较简略。有时间大家可以去编辑一下你们学校的地图,这样不仅让你从中获益,而且还为全世界的人提供了方便。有什么问题可以问我。
- 利用openstreetmap在android应用中添加地图
- 在Android上使用OpenStreetMap离线地图
- Android地图开发之OpenStreetMap基础教程
- android MapBox地图基于openstreetmap开发
- Bing Maps进阶系列八:在Bing Maps中集成OpenStreetMap地图
- Bing Maps进阶系列八:在Bing Maps中集成OpenStreetMap地图
- SUMO仿真高级进阶系列一:利用OpenStreetMap生成地图
- 利用OpenStreetMap(OSM)数据搭建一个地图服务
- 在Android应用中添加menu
- 在Android应用中添加Google Admob
- 在Android应用中添加背景音乐
- Android应用:在Activity中添加延时
- [007] 如何在Android应用中使用百度地图api
- 如何在Android应用中使用百度地图api
- 在Android应用中使用百度地图api
- 在Android应用中使用百度地图api
- 怎样在Android应用中使用百度地图api
- 如何在Android应用中使用百度地图api
- 使用事件驱动模型实现高效稳定的网络服务器程序
- 创新过程管理
- 使用正确的dtd声明和entityResolver避免saxReader联网验证
- gspca驱动移植介绍
- xml--dom4j SAXReader解析
- 利用openstreetmap在android应用中添加地图
- yuv和yCbCr的差异
- /mnt/sdcard/Android/data/<package> 卸载时自动删除这个目录(默认缓存目录)
- 体感技术:Microsoft Kinect SDK vs PrimeSense OpenNI
- 简明 Vim 练级攻略
- XML基础
- DEBUG下,VS 2010的vector和相关迭代器的安全检查和记录功能
- String
- qsort()方法作用于字符串数组的范例