Question

I am currently working on an application that makes use of a MapView and adds overlays to it. Basically at anyone one given time the overlay list should never exceed two.

Heres what I have tried to do...

I have extended the ItemizedOverlay class (MyFriendOverlay) and then created a private ArrayList object inside that extended class that I would attach the overlays to. However; I have come across a problem that I am unsure how to fix. If you look at this segment of code:

ImageView mapMarker = new ImageView(getApplicationContext()); mapMarker.setImageResource(R.drawable.markertrp);

myPointsToShow = new myFriendOverlay(mapMarker.getDrawable(), getApplicationContext());

As can be noted here I am created a ImageView with an icon based on my drawables. After this I have my extended class from ItemizedOverlay. In the constructor it takes two parameter the drawable and the context.

From what I know the constructor below is required (perhaps it can be modified):

public myFriendOverlay(Drawable defaultMarker, Context context)

Problem here is that I keep creating a new instance of myPointsToShow, which is a problem because I have a ArrayList that I want to use in the extended class so I have direct control over the overlays. And by instantiating a new one every time, I don't really add to the list itself.

In short:

All I want is for my application to have two points (A and B) where if a new location is detected for say B, then remove B from the overlay list, and replace it with the new location. And the same for A as well. In order to simplify it, I want to attach index 0 to A and index 1 to B, so that it doesn't span over two points.

I am unable to come up with a solution for this because of the problem of the necessary constructor, perhaps I'm thinking too hard about it...

Please offer any feedback! :)

Thanks for reading.

Was it helpful?

Solution

From my experience what I do is the following:

  • Create an item overlay per type of image I am going to show.
  • If the list of items per overlay is not very long I pass it inside an intent.

Btw you need to use R.drawable.something for your overlay. You don't need to create an ImageView.

I have been using this android-library for maps: android-mapviewballoons. Check it out!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top