You need to call:
mapOverlays.add( itemizedOverlay );
also, if you're adding/removing overlay items to/from ItemizedOverlay,
you may need to call setLastFocusedIndex(-1) (or whatever the method
is). I think in your case you won't need to worry with this as you
only call "addOverlay" and "populate" once.
On Sep 7, 6:34 pm, sweet <[email protected]> wrote:
> I've try to make a mapview with itemized overlay and it's not work.
> I share my code if anyone see anything :
>
> java class mapview:
>
> import java.util.List;
> import android.content.Intent;
> import android.graphics.drawable.Drawable;
> import android.os.Bundle;
> import android.view.Menu;
> import android.view.MenuInflater;
> import android.view.MenuItem;
> import android.widget.LinearLayout;
> import android.widget.ZoomControls;
> import com.google.android.maps.GeoPoint;
> import com.google.android.maps.MapActivity;
> import com.google.android.maps.MapView;
> import com.google.android.maps.Overlay;
> import com.google.android.maps.OverlayItem;
>
> public class Map extends MapActivity {
> List<Overlay> mapOverlays;
> Drawable drawable;
> NewItemizedOverlay itemizedOverlay;
> LinearLayout linearLayout;
> MapView mapView;
> ZoomControls mZoom;
>
> @Override
> public void onCreate(Bundle savedInstanceState) {
>
> super.onCreate(savedInstanceState);
> setContentView(R.layout.map);
> mapView = (MapView) findViewById(R.id.mapview);
> mapView.setBuiltInZoomControls(true);
> mapView.setSatellite(true);
>
> mapOverlays = mapView.getOverlays();
>
> drawable = this.getResources().getDrawable
> (R.drawable.androidmarker);
> itemizedOverlay = new NewItemizedOverlay(drawable);
>
> GeoPoint point = new GeoPoint(19240000,-99120000);
> OverlayItem overlayitem = new OverlayItem(point, "", "");
> itemizedOverlay.addOverlay(overlayitem);
>
> }
> protected boolean isRouteDisplayed() {
> return false;
> }
>
> java ItemizedOverlay class:
>
> import java.util.ArrayList;
> import android.graphics.drawable.Drawable;
> import com.google.android.maps.ItemizedOverlay;
> import com.google.android.maps.OverlayItem;
>
> public class NewItemizedOverlay extends ItemizedOverlay {
>
> private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>
> ();
>
> public NewItemizedOverlay(Drawable defaultMarker) {
> super(boundCenterBottom(defaultMarker));
> // TODO Auto-generated constructor stub
> }
> public void addOverlay(OverlayItem overlay) {
> mOverlays.add(overlay);
> populate();
> }
>
> @Override
> protected OverlayItem createItem(int i) {
> return mOverlays.get(i);
> }
>
> @Override
> public int size() {
> return mOverlays.size();
> }
>
> }
>
> xml mapview file :
>
> <?xml version="1.0" encoding="utf-8"?>
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
> android"
> android:orientation="vertical"
> android:layout_width="fill_parent"
> android:layout_height="fill_parent">
> <com.google.android.maps.MapView
> android:id="@+id/mapview"
> android:layout_width="fill_parent"
> android:layout_height="fill_parent"
> android:clickable="true"
> android:apiKey="0G***********************************fwcg"/>
> <LinearLayout
> android:id="@+id/zoomview"
> android:layout_width="wrap_content"
> android:layout_height="wrap_content"
> android:layout_alignBottom="@id/mapview"
> android:layout_centerHorizontal="true"/>
> </LinearLayout>
>
> Thanks for your help
> Sweet
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---