2016-11-20 3 views
1

私はの地図ベースのアプリで作業していますが、ユーザーには一般的なGoogleマップのインターフェースがありますが、3dカスタムエレメントをイベントに追加します。ユーザーは、地図上にボタンを押すだけでポケストを追加することができます(これは例えば私の要素です)。GoogleマップのAPIを使用して地図ベースのアプリに要素を追加するにはどうすればよいですか?

私はGoogle Maps APIを使用していますが、グラフィックエンジンを使用する必要があるかどうかはわかりません。実際、私はUnityや他のエンジンを使いたくありません。私はアプリをできるだけ軽くしたいと思っています。

アプリはAndroidで実行する必要があります。 ご意見はありますか?

+0

これは役に立ちます。 http://stackoverflow.com/questions/14811579/how-to-create-a-custom-shaped-bitmap-marker-with-android-map-api-v2 –

答えて

0

画像を使用してマーカーを作成するには、これを使用します。 //カスタムアイコンを使用します。

mSydney = mMap.addMarker(新しいMarkerOptions()

.position(DELHI) 

.title("Delhi") 

.snippet("Population: 86,398,800") 

.icon(BitmapDescriptorFactory.fromResource(R.drawable.image))); 

AAキャンバスを使用するには、

Bitmap.ConfigのCONF = Bitmap.Config.ARGB_8888;

ビットマップBMP =ビットマップ。 createBitmap(80、80、CONF);

キャンバスcanvas1 =新しいキャンバス(BMP);

//ペイントはテキストの色、線の幅とサイズを定義します

ペイントカラー=新しいペイント();

color.setTextSize(35);

color.setColor(Color.BLACK);

//キャンバス

canvas1.drawBitmap(BitmapFactory.decodeResource(getResources()、

R.drawable.user_picture_image), 0,0, color); 

canvas1.drawText( "ユーザー名!"、30、40、色)を変更し、

//

mMap.addMarker(新MarkerOptions()。位置(USER_POSITION)

地図にマーカーを追加3210
.icon(BitmapDescriptorFactory.fromBitmap(bmp)) 

// Specifies the anchor to be at a particular point in the marker image. 

.anchor(0.5f, 1)); 

これを使用すると、美しいものを描くことができます。

Google Maps API v2デモには、 というカスタム画像がGoogleマップにどのように設定されているかを確認できるMarkerDemoActivityクラスがあります。

//カスタムアイコンを使用します。

mSydney = mMap。

Bitmap.Configのconf = Bitmap.Config:addMarker(新MarkerOptions()このよう

.position(SYDNEY) 

.title("Sydney") 

.snippet("Population: 4,627,300") 

.icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow))); 

はちょうどあなたがより複雑で手の込んだものを描く にキャンバスを使用する場合があります画像とのマーカーを置き換えます.ARGB_8888;

ビットマップBMP = Bitmap.createBitmap(80、80、CONF);

キャンバスcanvas1 =新しいキャンバス(BMP);

//ペイントはテキストの色、線の幅とサイズを定義します

ペイントカラー=新しいペイント();

color.setTextSize(35);

color.setColor(Color.BLACK);

//キャンバス canvas1.drawBitmap(BitmapFactory.decodeResource(getResources()を修正する

R.drawable.user_picture_image), 0,0, color); 

canvas1.drawText( "ユーザー名!"、30、40、色);

//

mMap.addMarker(新しいMarkerOptionsを()マップにマーカーを追加します。位置(USER_POSITION)

.icon(BitmapDescriptorFactory.fromBitmap(bmp)) 

// Specifies the anchor to be at a particular point in the marker image. 

.anchor(0.5f, 1)); 

これは、Canvas canvas1をGoogleマップmMapに描画します。コードは(ほとんど) それ自身のために話す必要があります、そこに多くのチュートリアルがありますどのようにキャンバスを描画する。 は、AndroidデベロッパーページからCanvas and Drawablesを見ることから始めることができます。

URLから画像をダウンロードすることもできます。

URL url =新しいURL(user_image_url);

HttpURLConnection conn =(HttpURLConnection)url.openConnection();

conn.setDoInput(true);

conn.connect();

InputStream is = conn.getInputStream();

bmImg = BitmapFactory.decodeStream(is);

イメージをバックグラウンドスレッドからダウンロードする必要があります(これにはAsyncTaskまたはVolleyを使用できます)。

その後、BitmapFactory.decodeResource(getResources()、R.drawable.user_picture_image)をダウンロードしたイメージbmImgに置き換えることができます。

+0

答えをいただきありがとうございますが、私のカスタムマーカーのアニメーション(ポケストの花のようなもの)、どうすればいいのですか? –

関連する問題