На моем MapActivity, когда вы нажимаете на ItemizedOverlay, он отображает
заглавие
Фрагмент / сообщение в TextView и изменяется каждый раз, когда нажимается или нажимается другой ItemizedOverlay
Я создал ImageButton с изображением телефона и пытаюсь вызвать Array Intent для него
Таким образом, в основном, когда пользователи нажимают на Overlay1, а затем решают нажать на кнопку Phone Image номер, сохраненный в намерении, меняется на номер Overlay1, и поэтому они могут вызывать Overlay 1
и если они нажмут на Overlay 2, то число изменится соответственно и т. д.
мой код выглядит следующим образом:
List<Overlay> mapOverlays;
List<Intent> mapIntents;
NewItemizedOverlay itemizedOverlay;
Intent intentCall;
GeoPoint point = new GeoPoint((int)(51.555890943494276*1E6), (int)(-0.39989858865737915*1E6));
OverlayItem overlayitem = new OverlayItem(point, "Greenwood Veterinary" , "57 Station Approach, South Ruislip, Ruislip, Middlesex, HA4 6SL, 020 8845 8144");
itemizedOverlay.addOverlay(overlayitem);
Intent vet1 = new Intent(android.content.Intent.ACTION_DIAL,Uri.parse("tel:020 8845 8144")); // i created this in a similar fashion to the itemizedOverlay
intentCall.?(vet1); // i wanted to try and do the same thing with the addOverlay but i cant seem to find the correct method of doing this
GeoPoint point2 = new GeoPoint((int)(51.598707*1E6), (int)(-0.393416*1E6));
OverlayItem overlayitem2 = new OverlayItem(point2, "MediVet Pinner" , "2A Pinner Green, Pinner, Middlesex, HA5 2AA, 020 8866 0727");
itemizedOverlay.addOverlay(overlayitem2);
Intent vet2 = new Intent(android.content.Intent.ACTION_DIAL,Uri.parse("tel:020 8866 0727"));
ItemizedOverlay:
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
private ArrayList<Intent> cIntents = new ArrayList<Intent>();
Context mContext;
public NewItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}
public NewItemizedOverlay(Drawable defaultMarker, Context context)
{
super(boundCenterBottom(defaultMarker));
mContext = context;
}
public void addOverlay(OverlayItem overlay)
{
mOverlays.add(overlay);
populate();
}
public void addOverlay(OverlayItem overlay, Intent intent)
{
mOverlays.add(overlay);
cIntents.add(intent);
populate();
}
@Override
protected OverlayItem createItem(int i) {
// TODO Auto-generated method stub
return mOverlays.get(i);
}
protected Intent createCall(int c)
{
return cIntents.get(c);
}
@Override
public int size() {
// TODO Auto-generated method stub
return mOverlays.size();
}
public int callsize()
{
return cIntents.size();
}
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
Intent callItem = cIntents.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setIcon(android.R.drawable.ic_dialog_info);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
dialog.setNeutralButton("Call", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
VetNumber. //Not sure how to exactly call the Intent
}
});
dialog.show();
return true;
}
}
Если бы кто-нибудь мог помочь, я был бы очень признателен
Спасибо