我正在研究一個基於地圖的應用,用戶具有通用Google地圖界面,但我想在事件中添加一個3d自定義元素。用戶只需按下一個按鈕就可以在地圖上添加一個pokestop(例如我的元素)。如何使用Google Maps API在基於地圖的應用上添加元素?
我正在使用Google Maps API,但我不知道是否應該使用圖形引擎。其實,我不想使用Unity或其他引擎;我想盡可能使應用程序儘可能輕。
該應用應該在android上運行。 你有什麼建議嗎?
我正在研究一個基於地圖的應用,用戶具有通用Google地圖界面,但我想在事件中添加一個3d自定義元素。用戶只需按下一個按鈕就可以在地圖上添加一個pokestop(例如我的元素)。如何使用Google Maps API在基於地圖的應用上添加元素?
我正在使用Google Maps API,但我不知道是否應該使用圖形引擎。其實,我不想使用Unity或其他引擎;我想盡可能使應用程序儘可能輕。
該應用應該在android上運行。 你有什麼建議嗎?
要用圖像創建標記,請使用此選項。 //使用自定義圖標。
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);
Canvas canvas1 = new Canvas(bmp);
// paint定義文本顏色,筆畫寬度和大小
Paint color = new Paint();
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));
使用這個你可以繪製Fancier的東西。
在Google Maps API v2 Demo中,有一個MarkerDemoActivity類,您可以在其中 看到如何將自定義圖像設置爲GoogleMap。
//使用自定義圖標。
mSydney = mMap。addMarker(新的MarkerOptions()
.position(SYDNEY)
.title("Sydney")
.snippet("Population: 4,627,300")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));
由於這只是置換標記與圖像您可能需要使用一個畫布 吸引更多複雜和票友東東:
Bitmap.Config的conf = Bitmap.Config .ARGB_8888;
BMP位= Bitmap.createBitmap(80,80,CONF);
帆布canvas1 =新畫布(BMP);
// paint定義文本顏色,筆畫寬度和大小
Paint color = new Paint();
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繪製到GoogleMap mMap上。代碼應該(大部分) 爲自己說話,那裏有很多教程如何繪製一個畫布。您可以從Android Developer頁面查看Canvas和Drawable來開始您的初始設計。
現在你還想從URL下載圖片。
URL url = new URL(user_image_url);
HttpURLConnection conn =(HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bmImg = BitmapFactory.decodeStream(is);
您必須從後臺線程下載圖像(您可以使用AsyncTask或Volley)。
之後,您可以用下載的圖像bmImg替換BitmapFactory.decodeResource(getResources(),R.drawable.user_picture_image)。
感謝您的答案,但如果我想添加一個我的自定義標記上的動畫(就像撲克牌上的花),我該如何繼續? –
這可能會幫助你。 http://stackoverflow.com/questions/14811579/how-to-create-a-custom-shaped-bitmap-marker-with-android-map-api-v2 –