我是新手。我正在创建一个Android应用程序来查找我的联系人。我已经尝试了一些教程并运行。但如何取代谷歌地图打开街道地图。我有这个代码。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.PositionLocator.android">
<application android:icon="@drawable/icon">
<activity android:name=".PositionLocator" android:label="@string/app_name">
</activity>
<activity android:name=".PositionLocatorMap" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps"/>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
</manifest>
答案 0 :(得分:5)
mapsforge library似乎也很有希望。似乎它们与GoogleMaps API兼容,您只需要交换导入。
答案 1 :(得分:1)
添加以下行:
compile 'org.osmdroid:osmdroid-android:5.6.2'
进入build.gradle(Module:app)文件的依赖项。
dependencies {
//Other required dependencies
compile 'org.osmdroid:osmdroid-android:5.6.2'
}
这将包括项目所需的所有OSM库。
在您的xml文件(地图屏幕)中,将以下代码替换为已编写的Google地图代码:
<!--<fragment-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="fill_parent"-->
<!--android:id="@+id/mapview"-->
<!--tools:context="MapActivity"-->
<!--android:name="com.google.android.gms.maps.SupportMapFragment"-->
<!--android:layout_below="@+id/header" />-->
<org.osmdroid.views.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:layout_below="@+id/header"
android:layout_above="@+id/layout_for_buttons"/>
答案 2 :(得分:0)