[問題] 自製地圖+錨點縮放
想要做類似google map那樣的縮放,畫面上有許多錨點
隨著zoom in, zoom out的同時放大縮小錨點的icon
參考#1ECMxsU5應該可以套用到自製地圖上
自製圖片縮放的方式,猜想可以用imageView+ZoomControls
先設定好地圖座標範圍後,放上地圖,再讓使用者長按加入錨點
但是因為畫面的縮放後,不能取螢幕的座標為基準
得要參照縮放後的位置... 這點就讓人很頭大...
不知道版上先進有何想法@@?
打完這篇,想不到任何的關鍵字...<囧>
※ 編輯: MiaShopgirl 來自: 60.250.26.190 (03/02 16:25)
推
03/02 17:04, , 1F
03/02 17:04, 1F
剛剛跟同事討論,好像也是這樣..
不過螢幕左上角的位置,也要算進去才能拿到正確的座標吧....@_@
但是經過縮放跟拖曳...要一直監聽手指的位置去計算螢幕左上角的點嘛!__!
├───────── 1000 ─────────┤
┬┌──────────────────────┐ 地圖座標
││(x,y) │
││ │ 1000 fingerX
││← 圖 片 原 始 大 小 →│ ── = ──
││ │ 480 180
││ ├──── 480 ────┤ │
││ ┬┌────┬──────┐ │
││ ││ │ │ │
││ ││ │ │ │ 3000 fingerY
││ ││ │ │ │ ── = ──
││ ││ │ │ │ 800 200
3 │ 8 │ │ │ │
0 │ 0 ├────┼ │ │
0 │ 0 │ (fingerX,fingerY) │ │
0 │ ││ │ │
││ ││ │ │
││ ││← 手 機 螢 幕 →│ │
││ ││ │ │
==========================下略==========================
※ 編輯: MiaShopgirl 來自: 60.250.26.190 (03/02 17:42)
→
03/02 22:22, , 2F
03/02 22:22, 2F
→
03/02 22:23, , 3F
03/02 22:23, 3F
對@@, 就是 讓使用者自由選擇他喜歡的點 讓他標記這樣
※ 編輯: MiaShopgirl 來自: 119.77.134.167 (03/03 12:54)
→
03/03 16:06, , 4F
03/03 16:06, 4F
這樣很不好意思啊 囧rz t大有空的話可否提個點?
猜想硬著頭下去實做兩點縮放功能後應該就稍微懂了吧
雖然這一切都只是幻想 <囧>
真的寫不出來的話再麻煩您上陣就是(炸
※ 編輯: MiaShopgirl 來自: 119.77.134.167 (03/03 17:21)
→
03/04 01:38, , 5F
03/04 01:38, 5F
目前參考Hello, Android, 3rd Edition的範例,單隻:http://goo.gl/P0yld
完整範例:http://media.pragprog.com/titles/eband3/code/eband3-code.zip
用ImageView.setOnTouchListener,拿的到手指座標(fingerX,fingerY)
但是很囧的事情是...我拿不到ImageView的座標(x,y)..(炸
layout的xml簡略為
<FrameLayout....>
<ImageView
android:id="@+id/imageWall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="backGround"
android:scaleType="matrix"
android:src="@drawable/sky" />
</FrameLayout>
public class FreeMapActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
//設定layout, wallView.setOnTouchListener(onTouchLis);
}
private OnTouchListener onTouchLis = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent rawEvent) {
Log.d(TAG, "getLeft:" + wallView.getDrawable().getBounds().left);
Log.d(TAG, "getTop:" + wallView.getDrawable().getBounds().top);
//計算手指位置&判定拖曳/縮放
}
怎麼拿都是0,該不會不能用imageView拿座標吧 〒△〒
※ 編輯: MiaShopgirl 來自: 60.250.26.190 (03/07 12:32)
→
03/07 14:55, , 6F
03/07 14:55, 6F
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章