package com.nutiteq.advancedmap3; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import com.nutiteq.advancedmap3.R; import com.nutiteq.advancedmap3.vectorelements.CustomPopup; import com.nutiteq.core.MapPos; import com.nutiteq.datasources.LocalVectorDataSource; import com.nutiteq.layers.VectorLayer; import com.nutiteq.styles.MarkerStyle; import com.nutiteq.styles.MarkerStyleBuilder; import com.nutiteq.utils.BitmapUtils; import com.nutiteq.vectorelements.Marker; /** * A sample demonstrating how to create and use custom popups. * Note that Nutiteq SDK has built-in customizable BalloonPopup class that provides * uniform functionality and look across different platforms. But In some cases * more customization is needed and Popup subclassing can be used in that case. */ public class CustomPopupActivity extends VectorMapSampleBaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { // MapSampleBaseActivity creates and configures mapView super.onCreate(savedInstanceState); // Add a marker and a popup to the map // 1. Initialize a local vector data source LocalVectorDataSource vectorDataSource1 = new LocalVectorDataSource(baseProjection); // Initialize a vector layer with the previous data source VectorLayer vectorLayer1 = new VectorLayer(vectorDataSource1); // Add the previous vector layer to the map mapView.getLayers().add(vectorLayer1); // 2. Create marker style Bitmap androidMarkerBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.marker); com.nutiteq.graphics.Bitmap markerBitmap = BitmapUtils.createBitmapFromAndroidBitmap(androidMarkerBitmap); MarkerStyleBuilder markerStyleBuilder = new MarkerStyleBuilder(); markerStyleBuilder.setBitmap(markerBitmap); markerStyleBuilder.setSize(30); MarkerStyle markerStyle = markerStyleBuilder.buildStyle(); // 3. Add marker MapPos markerPos = mapView.getOptions().getBaseProjection().fromWgs84(new MapPos(13.38933, 52.51704)); // Berlin Marker marker1 = new Marker(markerPos, markerStyle); vectorDataSource1.add(marker1); // 5. Add popup CustomPopup popup1 = new CustomPopup(marker1, "custom popup"); vectorDataSource1.add(popup1); // finally animate map to the marker mapView.setFocusPos(markerPos, 1); mapView.setZoom(12, 1); } }