如您想讓 Android 程式中的 MapView 隨著手機的電子羅盤 (Compass) 自動旋轉,並依照您看手機螢幕的方向轉向前方,以下介紹的程式範例或許可供您參考。
此範例程式名稱是 MapViewCompassDemo,記得好像是 Google Android SDK API Demo 中的程式 ,但漁郎用了許多關鍵字去謨拜了好久 Google 大神,才在幾個網友發表的英文文章中找到需要的範例程式。有鑑於此,漁郎於是貼文於此,希望對需要的朋友們有些幫助。
(1) 該範例程式請到此下載,進入後,以滑鼠右鍵 (WINDOWS) 點選右側靠下方的 View raw file ,並選另存連結或另存新檔,就可存成 MapViewCompassDemo.java 檔案,漁郎已將該範例檔的內容拆一拆,建成一個完整的 Android 範例專案檔,如您需要該範例專案檔,可以 e-mail 給漁郎 (因不知該放在哪兒好 @@),當您收到該範例專案並解壓縮後 Import 到您的 Eclipse 開發工具中,應就可以執行了。
(2) 另外,您可將該範例專案中的 RotateView.java 與 SmoothCanvas.java 裡面的類別引入主程式中,稍變化一下應就可產生出一個可將 MapView 內的地圖旋轉的 Android 程式了。
(3) 記得將 MapViewCompassDemo.java 內的 Google Maps API KEY 改成您申請的喔。
這段 ..... mMapView = new MapView(this, "YOUR MAPS API KEY");
參考資料網址:
http://code.google.com/p/mapsadroidproject/source/browse/trunk/MapsDemo/src/com/example/android/apis/view/MapViewCompassDemo.java?spec=svn3&r=3
http://www.openintents.org/javadoc/samples/ApiDemosSensors/org/openintents/samples/apidemossensors/view/MapViewCompassDemo.html
http://www.koders.com/java/fidBC179BF80582A4E581A1A88C32BBEB1485D45C06.aspx?s=AnimateMotion
2010年7月31日 星期六
訂閱:
張貼留言 (Atom)
你好 翻到你的網站 可是我還是不知道應該要怎麼用
回覆刪除可以跟你要範例程式嗎
我的google 帳號是 ascia1112@gmail.com
GG 您好, 您是第 n 個來信的夥伴了 ^__^ , 已寄出到您信箱囉 ! 請將該範例專案 import 到 Eclipse 中就行了.
回覆刪除不好意思 可以給我範例檔嗎 謝謝
回覆刪除test059253@yahoo.com.tw
寄過去囉 ! ^__^
回覆刪除試了很久,還是沒辦法執行成功,想參考您的範例,不知能否跟您借來看看呢?
回覆刪除我的信箱是shan3345@gmail.com
範例專案已寄過去囉 !
回覆刪除作者已經移除這則留言。
回覆刪除寄出囉 ^_^
回覆刪除謝謝版主,但我想請問一下 範例中所使用的sensor是方位感應器而非磁力感應器?
回覆刪除電子羅盤不是應該是運用到磁力感應器嗎?
方位不是只是手機的方位而已?
耶... 考倒漁郎了,漁郎很懶的 @@,所以,拿到別人的東西只會想到怎樣最方便使用,倒還真的沒仔細看是用啥感應器 >_<,基本上也以為是磁力感應器哩,待有空的時候再仔細瞧瞧,或許 首翰 您會先瞧出個所以然來,記得教教漁郎喔 ^__^
回覆刪除你好 不好意思@@ 最近有機會開發到這一塊 剛好也有這方面的問題 是否可以也寄一份範例呢@@ 謝謝><
回覆刪除arrny1224@gmail.com
收到沒? ^__^
回覆刪除謝謝漁郎ㄉㄉ~~ 大感恩阿T^T
回覆刪除不好意思~不知道可否參考這個程式
回覆刪除請您寄給我好嗎, 謝謝您
pipi80405@gmail.com
收到沒?^_^
回覆刪除收到囉~ 謝謝你 Android 2.3.3 也可以跑這個程式
回覆刪除只是import之後會有一個build.xml檔出錯,
將它刪除後專案就可以跑了, 不知道這樣做會不會有什麼問題~
另外剛剛實測的感覺,
使用手指移動螢幕時地圖方向好像會怪怪的,
只有當朝北方的時候 操作比較正常
我也需要你的範例檔
回覆刪除是否可以寄給我
我的email:jacklai5505@gmail.com
謝謝您!
收到沒 ? ^_^
回覆刪除有,謝謝你!!
回覆刪除可以請您寄給我範例程式嗎?
回覆刪除謝謝!
tericky@gmail.com
收到沒? ^_^
回覆刪除收到囉!!!感謝您!!!
回覆刪除hello,目前專案需要用到這個功能,可以麻煩您寄一份給我嗎?謝謝
回覆刪除zero.arst@gmail.com
收到沒?^_^
回覆刪除麻煩可以mail給我感激不盡!!
回覆刪除harry7895123@yahoo.com.tw
寄出囉!^_^
回覆刪除請問一下..要如何變化..
回覆刪除我將RotateView.java 與 SmoothCanvas.java 這兩隻程式放入src/裡面,主程式還要改些甚麼呢?
目前自己的地圖還是不會選轉..
麻煩指導>"<
小弟新手拜託了
@Unknown,不好意思喔~ 漁郎有點忘了 @@,我有將之整合進已上架的程式「求救發訊器」中,待漁郎看能否將之濾出來程式片段,再跟您說喔。。。不過,您可先解析一下範例程式中的 MapViewCompassDemo.java 程式內容,應該可以舉一反三,套用到您的其他程式中。。。試試喔!
回覆刪除謝謝漁郎哥!這兩天研究了粉久..程式碼還是一直有問題..
回覆刪除不是編譯有問題,就是編譯完之後執行錯誤..瀕臨崩潰邊緣
:(可能真的只要轉一下就過去了~原諒小弟不才...
還需要再努力!!不知漁郎哥時間允許的話可否幫忙看一眼程式碼..
感激不盡喔~
請問字是否也可以旋轉?
回覆刪除Google 出的 android google map 新版可以做到字永遠朝向使用者耶,不知是如何做到的?
是否在新版 Google APIs 有相關的參數可以使用,讓字也可以跟著正向使用者,漁郎再找時間研究研究,感謝您的提醒 ^_^ 。
回覆刪除另外,@ Harry,請問您是否有跟漁郎要過範例專案檔?如有的話,應該很容易套用到您的程式中喔。。。
還有,@ Harry,不知您的程式中是如何套用 RotateView.java 與 SmoothCanvas.java 的?可以的話,請您不妨寄給我程式碼,或許漁郎可幫點小忙。
回覆刪除漁郎大哥你好~ 可以寄給我範例程式膜拜一下嗎?
回覆刪除地圖旋轉這段 我一直都摸不透 麻煩你了
nick103143@hotmail.com
寄出囉!^_^
回覆刪除漁郎大大 我程式寄給你了
回覆刪除我在信件中 有隨附上我的MSN 請與我聯絡 指教 謝謝
親愛的廖同學,雖然漁郎不知您是哪個學校的學生(搞不好漁郎跟您的教授是熟識哩),但看得出來您很認真在作功課。您的信件漁郎有收到了,會找下班的時間幫您看一下。至於 MSN ,漁郎上班時是沒上 MSN 的,因為,開會時如突然蹦出來訊息可能會被老闆 K !所以咧, MSN 就不方便跟您聯繫囉~ 請您就諒解一下漁郎「吃人頭路」的苦衷吧。當然囉~哪天漁郎沒工作時就另當別論囉~~ ^_^
回覆刪除Hi,廖同學,漁郎將程式稍抓了幾個 BUG,寄過去給您囉。如果漁郎沒看錯,您這程式應該是參考某個「範例書」中的範例修改而成的吧?但執行時的錯誤,多半是物件產生(生成)後,本類別或其他類別中的程式認不到物件的參考位址造成。漁郎改了幾個給您參考(程式中有註記),但後續還有好幾個 BUG,還煩請您舉一反三修改之~。PS:您可多多利用 DDMS 中的 LogCat 看看為何錯誤,依此追出 BUG 宰了!
回覆刪除I want the code, thanks!
回覆刪除khs.thomas@gmail.com
寄出囉!^_^
回覆刪除你好~~可以給我完整的嘛...
回覆刪除s622222000@yahoo.com.tw
寄出哩~~ ^_^
回覆刪除謝謝唷~~我收到了^^
回覆刪除漁郎大大~
回覆刪除我也要來麻煩您了~
需要完整專案檔~
感恩~
fc.hubert@gmail.com
寄出囉~~ ^^
回覆刪除魚郎大大~
回覆刪除感謝您的檔案~受用不盡~
但發現幾個現象,來跟您請教一下~
因為發現一但MapView被旋轉後,手勢Event也跟著被旋轉了,
例如地圖向右旋轉了90度,我下意識的想向右移動地圖,
但是地圖卻向下移動~
不知是否已有解決辦法?
我的想法是去override 那些Event,判斷角度再呼叫該呼叫的event,不知這樣想是否可行~
這個部份,漁郎還沒研究如何修改,因此,在應用程式中是固定圖面不給移動的。不過,您的想法應該可行。
回覆刪除您好,請問方便給我完整的檔案嗎? 謝謝!!
回覆刪除bibby1101@gmail.com
寄出囉~ ^^
回覆刪除謝謝您唷!! 我已經收到了XD Import進去可以執行!!
回覆刪除這樣的教學真的造福了很多人~
回覆刪除小弟也希望可以請漁郎大大~
也寄一份完整專案檔給小弟研究一下~
感恩~ natsu0813@gmail.com
Ps:順帶一提,在Android上一直有個很有名的APP(SkEye
,Vortex Planetarium),也有運用到電子羅盤的技術,小弟也想研究看看,但是網路上較為完整的資料也不多,目前只知道利用陀螺儀,電子羅盤與GPS定位來擷取當下的位置,但是無奈我學是淺薄,還請漁郎大大多多指導
Hello ~ 寄過去了噢!
回覆刪除這是新版本,觸控螢幕會停止旋轉地圖,再觸控會再次旋轉地圖。
有問題請記得告訴漁郎喔!
嗨
回覆刪除漁郎大
請問可以寄範例檔給我嗎
ktasl.bbs@gmail.com
寄過去囉~~ ^^
回覆刪除漁郎大大太強了!本人為了FYP也想要一份範例檔,可以嗎?
回覆刪除本人的Email是
yukimshing@gmail.com
漁郎大大, 可以寄份給小弟拜讀嗎? 小弟email 是ivan62tseng@gmail.com
回覆刪除寄出囉~~ ^^
回覆刪除Hello~漁郎大大~~不知道可不可以要這份範例檔~~謝謝!!
回覆刪除我的e-mail: suju0707@gmail.com
寄出囉! ^^
回覆刪除您好,
回覆刪除不好意思可以要這份範例檔嗎??
謝謝!!
mail:james19840510@gmail.com
寄出囉~ ^^
回覆刪除您好,請問可以跟您要範例檔嗎??
回覆刪除謝謝您喔!!
mail:win97672@yahoo.com.tw
另外可以請教一個問題嗎?
以下是我自己寫的程式,請問要如何幫MapView加指南針啊? 我有試著使用MyLocationOverlay但是還是一直出錯.MyLocationOverlay如何和我複寫的GPSItemizedOverlay並存阿?
這個問題我已經Google了好久一直找不到答案~
-----------------------------------------------
public void onLocationChanged(Location location) { serachMap(location);
}
public void serachMap(Location location){
GeoPoint gp =
new GeoPoint(
(int)location.getLatitude()*1E6), (int)(location.getLongitude()*1E6));
mapOverlays.clear();
drawable =this.getResources().getDrawable(R.drawable.marker);
itemizedOverlay = new GPSItemizedOverlay(drawable);
OverlayItem overlayitem =
new OverlayItem(gp, "", "");
itemizedOverlay.addOverlay(overlayitem); mapOverlays.add(itemizedOverlay); mc.animateTo(gp); mc.setCenter(gp);
}
-----------------------------------------------
**另外還有一個問題如果要地圖更新的話~~
--------------------------------------------
mylayer.enableMyLocation(); mylayer.runOnFirstFix(new Runnable()
{
public void run()
{ mapController.animateTo(mylayer.getMyLocation());}});
-----------------------------------------
這個方法和我使用的有什麼不同?
哪個效率比較好啊?
範例檔寄過去囉~~ ^^
回覆刪除您是說「小羅盤」圖案是吧?我記得只要加以下命令就會秀出:
mOverlay1.enableCompass(); // 啟用羅盤更新, 顯示小羅盤
您的二個問題沒比較過 @@ ....
感謝您 ~ 已收到!!!
回覆刪除至於
mOverlay1.enableCompass()<= MyLocationOverlay物件
iOverlayt<==IemizedOverlay物件
兩者都可以加入到 List mapOverlays
我的IemizedOverlay物件和MyLocationOverlay物件
經測試後發覺~1.MyLocationOverlay要在onCreate就宣告加入mapOverlays中,但是我自訂的標誌需要在
onLocationChanged中作位置改變並且
使用
mapOverlays.clear();
再加入
mapOverlays.add(itemizedOverlay);
這樣會使的我的羅盤被清除掉...
目前卡在這個部分
情況跟這文章內容相似
http://www.eoeandroid.com/thread-30250-1-1.html
目前苦無解決辦法 ...
漁郎截出以下的程式片段(包含在 onCreate 中),並不會有你說的情況耶!?
回覆刪除List〈Overlay〉overlays;
overlays = map.getOverlays();
overlays.clear();
mOverlay1 = new MyLocationOverlay(this, map);
mOverlay1.enableCompass();
overlays.add(mOverlay1);
漁郎在整個程式中,只有在 onCreate 中有下 clear() , 其它地方 (例如: onLocationChanged 中都沒再下 clear() , 「維尼」參考參考。
回覆刪除不好意思 可以寄一份範例給我嗎?
回覆刪除最近剛好在研究,有個範例比較好下手
ray10533w@gmail.com
寄出囉~ ^^
回覆刪除請問一下 我導入Eclipse
回覆刪除smoothcanvas.java卻顯示紅色X
是怎麼回事呢?
謝謝!!
在 Problems 裡的錯誤訊息是?
回覆刪除重開一次發現smoothcanvas.java沒有紅色X了
回覆刪除換成MapViewCompassDemo.java和RotateView.java有紅色X
錯誤訊息是
import com.google 無法解析
MapActivity 無法解析成類型
MapView 無法解析成類型
MyLocationOverlay 無法解析成類型
很多...共54個錯誤
不知是如何呢?
謝謝!!
應該是沒安裝 Google APIs by Google Inc. 套件造成。
回覆刪除請去下載與安裝使用 Google 相關服務的「必要」開發套件。
回覆刪除Hello~漁郎大大~~不知道可不可以麻煩您寄這份範例檔給我~~
回覆刪除因為我的專題剛好有用到類似的東西,不知道可不可以請漁郎大大借我參考參考,感恩您~~!!!!謝謝啦^^
我的e-mail: doris79313@gmail.com
寄出囉~ ^^
回覆刪除您好,請問可以跟您要範例檔嗎??
回覆刪除謝謝您喔!!
mail:pan.yujen@gmail.com
寄出囉~ ^^
回覆刪除您好,漁郎大大!
回覆刪除最近小弟也在研究這一塊!
可以跟您要範例來跑跑嗎?感激不盡!!!
imtzuyu@hotmail.com
寄出囉~ ^^
回覆刪除您好~最近課程有用到這部分,不知可跟你拿範例檔看看嗎??
回覆刪除感謝您!!!! doris79313@google.com
寄出囉~ ^^ , 第一次看到 @google.com 的郵件 , 是 gmail.com 嗎?
回覆刪除@乖乖~ 您給的 e-mail address 不對, 被退信了。
回覆刪除你好 我也想要範例程式!!最近研究需要用到
回覆刪除我E-MAIL是
fk26541598@yahoo.com.tw
寄出囉 ~~ ^^
回覆刪除你好:
回覆刪除我也對範例程式有興趣。可以參考看看嗎
我的mail: zusohermax@gmail.com
謝謝了
寄出去囉~~ ^^
刪除你好:
回覆刪除我對你的範例程式也很感興趣
最近學校方面的課程裡 需要研究到這塊
不知道能不能也寄給我
我的e-mail是 happydaysogood@yahoo.com.tw
麻煩你了
寄出去囉~~ ^^
刪除收到了 謝謝^^
刪除作者已經移除這則留言。
回覆刪除剛測試是正常的,你能截個畫面圖寄來瞧瞧嗎?
刪除你好,我對範例程式也有興趣,是否可以研究看看
回覆刪除我的mail: jiun036@gmail.com
謝謝!!
寄出囉~~ ^^
刪除您好,您的程式剛好我有研究到,是否可以寄MAIL參考嗎?
回覆刪除麻煩您了,謝謝。
kjapo445@yahoo.com.tw
寄出囉~~^^
刪除你好,請問您的程式可以MAIL給我做參考嗎? 最近有再研究
回覆刪除麻煩了~ 謝謝!!
my mail: s07110424@gmail.com
寄出囉~~
刪除您太強了!可以寄一份給我研究一下嗎?
回覆刪除我的Mail:wuchart@gmail.com
感謝!
寄出囉~~~
刪除您好阿 可以記一份給我嗎 想要學習這個技術
回覆刪除mail:roger2156134@yahoo.com.tw
謝謝
寄出囉! ^^
刪除你好,請問您的程式可以MAIL給我做參考嗎? 最近有再研究
回覆刪除麻煩了~ 謝謝!!
my mail: s11639112@STU.EDU.TW
((補充 不好意思 小弟剛學...還不太懂 有些問題想請問漁郎大大
刪除1.請問範例中所使用的sensor方位感應器 預設值是指向哪個方向呢? 北方嗎?
2.如果 小弟在MAP中增加一個座標位置 那方位感應器是否能改成指向那個新增的座標位置呢?
範例檔已寄出 ~~
刪除1. 前方
2. 不懂您的意思 @@
就是 範例原本指的方向是前方
刪除可以把指的方向改為一個地標嗎? 比如: 一直指著101大樓
這樣我就能知道101大樓在我哪個方向
有這功能嗎@@?
行的!但漁郎忘了怎做了 @@ ... 待我翻箱倒櫃找ㄧ找 ... >< sorry
刪除恩恩 感謝漁郎大大的資訊 那小弟大概有方向前進了
刪除那小弟會繼續了解程式的 如果還有資訊 希望漁郎提供資訊 感恩>"<
漁郎大~
回覆刪除可以將此範例寄給小弟嗎~
想自己試看看~
感謝大恩~
ching.han.671@gmail.com
寄出囉! ^^
刪除收到了~~
刪除感謝大大~~
^______________^
漁郎大~
刪除是不是因為版本不一樣的關係~
我匯入之後,都會有錯誤無法消掉,
我有把專案版本和JAVA版本改掉~
錯誤還是無法消掉~~
@@a
漁郎的開發環境如下,您參考參考:
刪除(1) Eclipse Platform 3.6.2r362_v20110210
(2) 改範例使用 Android SDK Google APIs 2.1 (API Level 7)
(3) Java SDK 1.6 for Mac
PS: 您不妨直接開啟該專案,不用 Import 試試。
你好
回覆刪除不知可否參考你的程式碼
研究一下
我的mail
wushingwei@gmail.com
謝謝了..
寄出囉~~ ^^
刪除我收到了
刪除謝謝你 ^^
您好
回覆刪除請問 可以參考一下你的程式碼嗎??
我的 e-mail
skyinblue28@yahoo.com.tw
謝謝~~
寄出囉!^^
刪除非常感謝 QAQ
刪除您好 目前正在努力寫相關地圖的應用部分
回覆刪除但就是旋轉卡關了
想參考一下您的程式
我的e-mail: bibi630@gmail.com
麻煩了 謝謝!
寄出囉~ ^^
刪除收到了! 謝謝!
刪除漁郎大你好
回覆刪除請問可以參考一下你的程式碼嗎
qwe121223@yahoo.com.tw
這是我的e-mail
麻煩了 謝謝!!!
寄出囉~ ^^
刪除你好,我也需要程式碼..最近在研究這一塊
回覆刪除信箱為:
kve15@yahoo.com.tw
謝謝大大(鞠躬
寄出囉~ ^^
刪除收到,感恩感恩^^
刪除漁郎大大您好
回覆刪除小弟初學android程式
可以寄給我範例檔嗎?
感謝
s_alen@hotmail.com
寄出囉~ ^^
刪除你好:
回覆刪除可以麻煩請您寄範例檔?
tstjason@gmail.com
謝謝!!
寄出囉~~ ^^
刪除寄出囉~~ ^^
回覆刪除您好,漁郎大大:
回覆刪除小弟是ANDROID新手,想了解地圖旋轉的功能,可以麻煩您寄程式範例檔嗎?
感謝您! < ( _ _ ) >
mark61613@gmail.com
收到了! 感謝您 < ( _ _ ) >
刪除您好,網路上真的太多不相干的東西了~
回覆刪除想跟您索取程式碼,謝謝
huadi73@hormail.com
寄出囉~ ^^
刪除抱歉我信箱有打錯字...hotmail.....
回覆刪除huadi73@hotmail.com
麻煩您了,謝謝
收到了~謝謝您
回覆刪除但我想請教一個問題,我使用了你的之後
地圖都無法用手滑動,另外加上去的圖標也都沒出現
請問我該怎麼解決呢,謝謝
何意? @@ ......
刪除就是我只是把原來的程式的view的部分加上您的程式碼
回覆刪除之後我的overlay會無法顯示(雖然有時候會跑出來)
再來就是我無法用手指去滑動地圖了~
可以麻煩寄給我嗎
回覆刪除gmail:wumike10@gmail.com
感激不盡
寄出囉~~ ^^
刪除收到了 太感謝你了
回覆刪除您好,最近剛好想研究這個方面程式碼
回覆刪除所以想跟您索取一下參考看看~
方便寄一份給我麼??
Gmail: jason.yu0719@gmail.com
謝謝你
寄出囉! ^_^
刪除收到了謝謝你^O^
刪除您好,最近剛好想研究GPS這個方面的程式碼
回覆刪除能否提供讓我參考一下
Gmail:barry22034@gmail.com
寄出囉~ ^^
刪除收到囉 謝謝^^
刪除hello,可以跟你要範例程式嗎,感恩
回覆刪除忘了留信箱== york57002@yahoo.com.tw
刪除寄出囉! ^^
刪除感恩合十 <(_ _)>
刪除不好意思 可以跟你要程式碼 嗎
回覆刪除deurpye@gmail.com 謝謝
寄出囉!^^ 加油!
刪除您好,我正在寫有關GPS的程式,想跟您要範例程式
回覆刪除EMAIL:a0919628423@gmail.com
寄出囉! ^^
刪除已收到 感謝!
刪除您好:
回覆刪除我是ANDROID新手,想了解地圖旋轉的功能,可以麻煩漁郎大寄程式範例檔嗎?
感謝您!!
giranntu@gmail.com
寄出囉 ^_^
刪除收到了!! 感謝您
刪除祝您事事順心
可以麻煩漁郎大寄程式範例檔嗎?
回覆刪除感謝!
taidara99@gmail.com
寄出了嘿!^_^
刪除收到了 謝謝
刪除您好 可以跟您要這隻程式嗎
回覆刪除z661223@gmail.com
謝謝您
寄出囉!^_^
刪除您好:
回覆刪除我最近想做 Android google map 的程式
可以跟您拿取範例程式進行研究麼?
e-mail: cram455cog178@gmail.com
謝謝您
寄出囉!^_^
刪除網誌管理員已經移除這則留言。
回覆刪除寄出囉! ^_^
刪除收到了,感謝您!
刪除你好! 我很少看到這方面的資訊! 可以麻煩您給我一份檔案嗎? 謝謝! boy6074d@yahoo.com.tw
回覆刪除已經寄出囉 ^_^
刪除漁郎大您好,最近剛好在研究GoogleMap這個方面,公司專案有用到此功能,
回覆刪除能否提供讓我參考一下,可以麻煩漁郎大寄程式範例檔嗎?
感謝!
email: tonyan95@hotmail.com
你好! 我很少看到這方面的資訊!
回覆刪除,可以麻煩漁郎大寄程式範例檔嗎?
我的google 帳號是 tonyan95@hotmail.com
您好,最近剛好在研究LBS的相關應用,如不嫌棄希望能與您獲取相關專案檔以進行深入研究,望能學習切磋,靜候佳音。
回覆刪除E-Mail
gi.eastlu@gmail.com