重複の可能性:
Android マップ上の iPhone のような注釈
Google マップを使用するアプリケーションを実装しています。現時点では、Google マップで場所をマークすることに成功しています。しかし、私が正確に必要としているのは、Google マップの位置の上にタイトルを設定することです。下の画像のように。
誰でも私を助けることができますか?ありがとう。
重複の可能性:
Android マップ上の iPhone のような注釈
Google マップを使用するアプリケーションを実装しています。現時点では、Google マップで場所をマークすることに成功しています。しかし、私が正確に必要としているのは、Google マップの位置の上にタイトルを設定することです。下の画像のように。
誰でも私を助けることができますか?ありがとう。
基本的に Mapview Ballons と呼ばれます。参考までに、github で開発したサンプル プロジェクトを以下に示します。私のプロジェクトで大いに役立ちます。
お役に立てば幸いです。
onTap メソッドを使用すると、ItemizedOverlay で Alertbox/Dialog ボックスを使用できます。
好きな場所をいくつでもマークでき、Google マップの位置の上にタイトルを設定できます。
例えば
public void onCreate(Bundle b)
{
super.onCreate(b);
try{
setContentView(R.layout.main);
System.out.println(""+lati+place+longi+position.get(0)+position.size());
mapView=(MapView)findViewById(R.id.map_view);
mapView.setBuiltInZoomControls(true);
mc = mapView.getController();
mc.setZoom(12);
drae=this.getResources().getDrawable(R.drawable.ic_launcher);
test tt=new test(drae,this);
tt.addit(latitude,longitude, place_name);
tt.addit(latitude1,longitude1, place_name1);
mapView.getOverlays().add(tt);
System.out.println(ii);
break;
}
default:
System.out.println(position.size());
}
}
}
}catch (Exception e) {
System.out.println(e.getMessage());
}
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
class test extends ItemizedOverlay
{
List<OverlayItem>overLayItem=new ArrayList<OverlayItem>();
Context con;
public test(Drawable drae,Context con) {
super(boundCenterBottom(drae));
testt(con);
}
void testt(Context con)
{
this.con=con;
}
@Override
protected OverlayItem createItem(int i) {
return overLayItem.get(i);
}
@Override
public int size() {
return overLayItem.size();
}
protected boolean onTap(int index) {
// TODO Auto-generated method stub
OverlayItem ir=overLayItem.get(index);
AlertDialog.Builder dia=new AlertDialog.Builder(con);
dia.setTitle(ir.getTitle());
dia.setMessage(ir.getSnippet());
dia.setPositiveButton("close",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
dia.show();
return true;
}
public void additem(OverlayItem item)
{
overLayItem.add(item);
populate();
}
public void addit(int l,int g,String s)
{
GeoPoint po=new GeoPoint(l, g);
OverlayItem it=new OverlayItem(po,s,null);
additem(it);
}
}
}
リリースされたばかりの新しいGoogle Maps Android API v2をご覧ください。これにより、情報ウィンドウ (タイトルとスニペットを含む) にマーカーを追加することがはるかに簡単になります。例については、ドキュメントを参照してください。