osmdroid를 사용하여 Android에서 OpenStreetMap을 봅니다.
6941 단어 OpenStreetMaposmdroid지도입문안드로이드
이 게시물은 OpenStreetMap Advent Calendar 2016 20 일째 기사입니다.
osmdroid를 사용하여지도를 표시하고 싶었기 때문에 어쨌든 시도했습니다.
그중 더 돌진한 재료를 써볼까 생각합니다.
OSM
osmdroid는 Open Street Map을 Android에서 사용할 수있게 해주는 엄청난 녀석입니다.
htps : // 기주 b. 코 m / smd 로이 d / 오 smd 로이 d
모두 지도를 만드는 슈퍼 대단한 녀석
h tps : // 오펜 st 예 t 마 p. jp/
사용해 보겠습니다.
우선은 프로젝트를 EmptyActivty라든지 지정해 드디어 만들어 주세요.
repositories {
jcenter()
+ mavenCentral() //これを追加
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
+ compile 'org.osmdroid:osmdroid-android:5.6.2' // これを追加
}
이제 osmdroid를 사용할 수 있습니다!
AndroidManifest에 다양한 permission 추가
이 헨 추가
<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" />
레이아웃에 MapView를 추가하겠습니다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.xsota.osmdroidtest.MainActivity">
<org.osmdroid.views.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
MainAvtivity 또는 TileSource 또는 터치로 확대 할 수있는 설정을 작성하십시오.
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
org.osmdroid.tileprovider.constants.OpenStreetMapTileProviderConstants.setUserAgentValue(BuildConfig.APPLICATION_ID);
MapView map = (MapView) findViewById(R.id.map);
map.setTileSource(TileSourceFactory.MAPNIK);
map.setBuiltInZoomControls(true);
map.setMultiTouchControls(true);
}
}
우선지도를 표시 할 수있게되었습니다.
쉽게 Open Street Map의 지도를 사용한 앱을 만들 수 있으므로 사용해 보면 어떨까요?
「GoogleMap에서는 그렇게 할 수 있는데 osmdroid로는 할 수 없다!!!!」라고 하는 재료가 있으면 챌린지하고 싶으니까 누군가 가르쳐 주세요.
그럼 안녕.
Reference
이 문제에 관하여(osmdroid를 사용하여 Android에서 OpenStreetMap을 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/xsota/items/c0c8ef48711c47ef018e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)