Android indoor map work in progress...
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
Add the dependency
dependencies {
implementation 'com.github.ninepatch:IndoorMapView:Tag'
}
The library requires Android API Level 14+.
<?xmlversion="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:fitsSystemWindows="true"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">
<indoormaps.ninepatch.com.library.IndoorMapsViewandroid:id="@+id/indorMaps"android:layout_width="match_parent"android:layout_height="match_parent" />
</LinearLayout>publicclassMainActivityextendsAppCompatActivity {
privateIndoorMapsViewindoorMapsView;
@OverrideprotectedvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
indoorMapsView = (IndoorMapsView) findViewById(R.id.indorMaps);
indoorMapsView.getIndoorViewListener().setOnMapViewInizializate(newOnMapViewInizializate() {
@OverridepublicvoidonMapLoading() {
}
@OverridepublicvoidonMapinizializate() {
indoorMapsView.init("mappa2.png", ZOOM.LEVEL4); //image from assets or put linkindoorMapsView.setBackgroundColorRes(R.color.colorPrimary);
}
});
}
}Markermarker = newMarker(MainActivity.this);
marker.setId(1);
marker.setLat(36.8271);
marker.setLon(32.9731);
marker.setName(getString(R.string.marker_name));
marker.setImageLink("pointer.png");//from assets or put link//set Marker StyleStylestyle = newStyle(MainActivity.this);
style.setLabelColor(R.color.colorAccent);
style.setLabelPx(22);
style.setShowLabel(true);
marker.setStyle(style);
indoorMapsView.addMarker(marker);
indoorMapsView.removeMarker(marker.getId());
// ORindoorMapsView.removeMarker(marker);indoorMapsView.getIndoorViewListener().setOnMarkerTapListener(newOnMarkerTapListener() {
@OverridepublicvoidonMarkerTap(Markermarker) {
}
});
indoorMapsView.getIndoorViewListener().setOnTapListener(newOnTapListener() {
@OverridepublicvoidonTap(doublelat, doublelon) {
}
});indoorMapsView.setCenter(lat, lng);ANIMATION type: PAN, FLY ,SPIRAL
center map to point or marker whit animation
indoorMapsView.goToAnimate(marker, ANIMATION.PAN);