如何在ANDROID取得地圖座標
發表人:
訪客
你好:
對於gmap的地圖已經會讓地圖顯示(標記)多個點後
如何用"長按"也可以直接標記呢?
而不是用輸入座標or地址
或是在建立好地圖後如何像內建的地圖長按地圖中任一點
即可跳出訊息方塊或得到該點的座標
對於gmap的地圖已經會讓地圖顯示(標記)多個點後
如何用"長按"也可以直接標記呢?
而不是用輸入座標or地址
或是在建立好地圖後如何像內建的地圖長按地圖中任一點
即可跳出訊息方塊或得到該點的座標
發表人:
Seachaos
積分: 2432
積分: 2432
你好
Android的Google Map API有提供您找出按下點座標的方法
就是MapView的onTouchEvent
[sea:javaCode]
public boolean onTouch(View v, MotionEvent event) {
...
tapPoint = views.map.getProjection().fromPixels((int)event.getX(),(int)event.getY());
...
// 按下點的座標 = tapPoint.getLatitudeE6()/1E6
// 按下點的座標 = tapPoint.getLongitudeE6()/1E6
}
[/sea]
tapPoint就可以取得按下點的資訊了
如果要長按判斷的話可以用
[sea:javaCode]
按下時間長 = event.getEventTime()-event.getDownTime()
[/sea]
來判斷按了多久
Android的Google Map API有提供您找出按下點座標的方法
就是MapView的onTouchEvent
[sea:javaCode]
public boolean onTouch(View v, MotionEvent event) {
...
tapPoint = views.map.getProjection().fromPixels((int)event.getX(),(int)event.getY());
...
// 按下點的座標 = tapPoint.getLatitudeE6()/1E6
// 按下點的座標 = tapPoint.getLongitudeE6()/1E6
}
[/sea]
tapPoint就可以取得按下點的資訊了
如果要長按判斷的話可以用
[sea:javaCode]
按下時間長 = event.getEventTime()-event.getDownTime()
[/sea]
來判斷按了多久
發表人:
訪客
[quote]Seachaos 提到:
你好
Android的Google Map API有提供您找出按下點座標的方法
就是MapView的onTouc...[/quote]
tapPoint = views.map.getProjection().fromPixels((int)event.getX(),(int)event.getY());...
請問你的views是?
map 是視窗裡面的mapview元件嗎…
tappoint是要宣告成geopoint嗎
你好
Android的Google Map API有提供您找出按下點座標的方法
就是MapView的onTouc...[/quote]
tapPoint = views.map.getProjection().fromPixels((int)event.getX(),(int)event.getY());...
請問你的views是?
map 是視窗裡面的mapview元件嗎…
tappoint是要宣告成geopoint嗎
發表人:
訪客
喔喔
上面的事都完成了…
請問…
motionevent
怎麼實現 按住呢?
上面的事都完成了…
請問…
motionevent
怎麼實現 按住呢?
發表人:
Seachaos
積分: 2432
積分: 2432
你好
如果是單純的按住可以用OnLongClickListener事件
如果要取得座標的話就可以用我上面有寫到的
[sea:javaCode]
按下時間長 = event.getEventTime()-event.getDownTime()
[/sea]
來取得使用者按下多久,用此時間做行為的判斷
如果是單純的按住可以用OnLongClickListener事件
如果要取得座標的話就可以用我上面有寫到的
[sea:javaCode]
按下時間長 = event.getEventTime()-event.getDownTime()
[/sea]
來取得使用者按下多久,用此時間做行為的判斷
發表人:
訪客
你好!
可以請問一下你多個標記是讀取資料庫內的資料嗎?
最近一直被多點標記的問題困擾!
謝謝!
可以請問一下你多個標記是讀取資料庫內的資料嗎?
最近一直被多點標記的問題困擾!
謝謝!
發表人:
Seachaos
積分: 2432
積分: 2432
您好:
多點標記和資料庫是沒有關系的喔
資料是資料部份
標記的部份是mapView的部份
(不一定要有資料庫才可以表記)
多點標記和資料庫是沒有關系的喔
資料是資料部份
標記的部份是mapView的部份
(不一定要有資料庫才可以表記)
發表人:
訪客
你好:
謝謝你的回覆:)
那我再請問一個問題,
如果我要標記全台灣的7-11,
資料部分只能一一輸入標記點在程式碼上嗎?
還是有其他辦法?
謝謝!
謝謝你的回覆:)
那我再請問一個問題,
如果我要標記全台灣的7-11,
資料部分只能一一輸入標記點在程式碼上嗎?
還是有其他辦法?
謝謝!
發表人:
Seachaos
積分: 2432
積分: 2432
Android有內建可以搜尋Google Map的API
這個程式碼可以找出附近的景點
[sea:javaCode]
Geocoder geo = new Geocoder(this);
try {
List<Address> resp = geo.getFromLocationName("關鍵子", 100);
for(int ax=0;ax<resp.size();ax++){
Log.i("msg",resp.get(ax).getFeatureName());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
[/sea]
所以可以用他來找7-11
但他只會找手機附近的
要更遠的話要自已設GPS座標範圍
[sea:javaCode]
geo.getFromLocationName(locationName, maxResults, lowerLeftLatitude, lowerLeftLongitude, upperRightLatitude, upperRightLongitude)
[/sea]
這個程式碼可以找出附近的景點
[sea:javaCode]
Geocoder geo = new Geocoder(this);
try {
List<Address> resp = geo.getFromLocationName("關鍵子", 100);
for(int ax=0;ax<resp.size();ax++){
Log.i("msg",resp.get(ax).getFeatureName());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
[/sea]
所以可以用他來找7-11
但他只會找手機附近的
要更遠的話要自已設GPS座標範圍
[sea:javaCode]
geo.getFromLocationName(locationName, maxResults, lowerLeftLatitude, lowerLeftLongitude, upperRightLatitude, upperRightLongitude)
[/sea]
發表人:
訪客
你好!
Android有內建可以搜尋Google Map的API這段程式碼應該放哪?
我的程式碼有自動定位功能,但執行出來沒有顯示附近景點,不曉得是什麼問題!
關鍵子我有改成"7-11",是關鍵子的部分出問題嗎?
目前我是先把那段程式碼放在
public void onCreate(Bundle savedInstanceState) {}內!
麻煩你了,謝謝!
Android有內建可以搜尋Google Map的API這段程式碼應該放哪?
我的程式碼有自動定位功能,但執行出來沒有顯示附近景點,不曉得是什麼問題!
關鍵子我有改成"7-11",是關鍵子的部分出問題嗎?
目前我是先把那段程式碼放在
public void onCreate(Bundle savedInstanceState) {}內!
麻煩你了,謝謝!
發表人:
Seachaos
積分: 2432
積分: 2432
只要放在Acitivty內就可以了
另外結果是List<Address>
所以你要自已去處理,把他Show在mapView上 (Address可以取得經緯度)
另外結果是List<Address>
所以你要自已去處理,把他Show在mapView上 (Address可以取得經緯度)