1

AndroidアプリケーションにMapViewがあります。地図上に表示する座標を取得するGoogleMapsActivityがあります。

GeoPoint point = new GeoPoint((int) (lat * 1E6),(int) (lng * 1E6));

OverlayItem overlayitem = new OverlayItem(point, "title", "text");
itemizedoverlay.addOverlay(overlayitem);

mapOverlays.add(itemizedoverlay);

また、このポイントを表示するMapsItemizedOverlayアクティビティもあります。基本的に、私はMapViewチュートリアルに従いました。次に、intと文字列をGoogleMapsActivityからMapsItemizedOveralyに渡す必要があります。これは、マークをタップするとURLにリダイレクトする必要があるためです。

説明するかどうかはわかりませんが、履歴書では、1つの文字列と1つのintをGoogleMapsActivityからMapsItemizedOverlayに渡す必要があります。

ご協力いただきありがとうございます。

4

1 に答える 1

0

ここを見てください、それは役立つかもしれません: Android-マップオーバーレイアイテムのクリックイベントを取得

基本的に、 ItemizedOverlay.onTap(int index)メソッドをオーバーライドする必要があります。

これは、マップに追加された最初の(インデックス0)アイテムをタップしたときにstackoverflow.comページを開くスニペットです(コンストラクターでItemizedOverlayを拡張するクラスにアクティビティコンテキストを渡す必要があります。たとえば、mContextに割り当てます。

@Override
protected boolean onTap(int index) {
    if (index == 0) {
        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://stackoverflow.com/questions/7050144/map-view-and-get-variables-on-mapitemizedoverlay-activity/7050301#7050301"));          
        mContext.startActivity(i);
        return true;
    }
    return super.onTap(index);
}

これがあなたが達成したかったことであることを願っています:)

于 2011-08-13T12:07:27.093 に答える