我正在使用Android Studio使用osmdroid构建一个简单的OSM地图应用程序。我希望显示一张地图,然后在其上构建一个导航系统。我使用了osmbonuspack的this教程0。
问题是未渲染地图。我附加了模拟器的ScreenShot。使用此link查看屏幕截图。
我是应用程序开发的新手,我认为build.gradle
文件有问题。我尝试将gradle与其他版本同步,但没有成功。此外,我还包括了每个清单文件的权限。
我正在附加我的build.gradle
文件,activitymain.java
文件AndroidManifest
和模拟器的ScreenShot的代码。
我希望在跟随tutorial0之后,将显示/显示带有标记的地图。
谢谢。
ActivityMain.java
public class MainActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Configuration.getInstance().setUserAgentValue(getPackageName());
MapView map = (MapView) findViewById(R.id.map);
map.setTileSource(TileSourceFactory.MAPNIK);
map.getZoomController();
map.setMultiTouchControls(true);
GeoPoint startPoint = new GeoPoint(48.13, -1.63);
IMapController mapController = map.getController();
mapController.setZoom(9.0);
mapController.setCenter(startPoint);
map.invalidate();
//for markers
Marker startMarker = new Marker(map);
startMarker.setPosition(startPoint);
startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
map.getOverlays().add(startMarker);
startMarker.setIcon(getDrawable(R.drawable.ic_launcher));
startMarker.setTitle("Start point");
map.invalidate();
}
}
build.gradle
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'org.osmdroid:osmdroid-android:6.1.0'
implementation ( name: 'osmbonuspack_v6.6.0', ext:'aar')
}
AndoidManifest
<?xml version="1.0" encoding="utf-8"?>
<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" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />