如何在android的谷歌地图上用标记显示我的当前位置
Posted
技术标签:
【中文标题】如何在android的谷歌地图上用标记显示我的当前位置【英文标题】:how to show my current location with marker on google map in android 【发布时间】:2012-10-05 17:06:27 【问题描述】:请帮忙。我尝试了一个代码,它应该在谷歌地图上用标记给出我当前的位置。但它不工作。我已经通过 DDMS 和 TELNET 提供了我的位置,但仍然处于黑暗中。我该怎么办??代码是:
package com.chupamobile.android.googlemaps;
import android.location.Location;
public class GoogleMapsActivity extends MapActivity
private MapView myMap;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myMap = (MapView) findViewById(R.id.mymap);
initMap();
initMyLocation();
/**
* Initialise the map and adds the zoomcontrols to the LinearLayout.
*/
private void initMap()
//myMap = (MapView) findViewById(R.id.mymap);
View zoomView = myMap.getZoomControls();
//MapController mc = myMap.getController();
//mc.setZoom(16);
LinearLayout myzoom = (LinearLayout) findViewById(R.id.myzoom);
myzoom.addView(zoomView);
myMap.displayZoomControls(true);
/**
* Initialises the MyLocationOverlay and adds it to the overlays of the map
*/
private void initMyLocation()
MyLocationOverlay myLocOverlay = new MyLocationOverlay(this, myMap);
myLocOverlay.enableMyLocation();
myLocOverlay.enableCompass();
myMap.getOverlays().add(myLocOverlay);
Toast.makeText(getApplicationContext(), "I am In"+myLocOverlay, Toast.LENGTH_LONG).show();
/*public void onLocationChanged(Location location)
if(location!=null)
GeoPoint point = new GeoPoint((int)(location.getLatitude()*1E6),(int)(location.getLongitude()*1E6));
MapController mc = myMap.getController();
mc.animateTo(point);
mc.setZoom(16);
*/
@Override
protected boolean isRouteDisplayed()
// TODO Auto-generated method stub
return false;
【问题讨论】:
【参考方案1】:Thenewboston 有一个由 4 部分组成的 Youtube Tutorial,它几乎贯穿了 api 的每个部分、定位位置等。每个视频大约 5 分钟,很容易理解,我想他谈到了定位位置第二个视频。我还发现this 问题的公认答案也可能有助于指导您朝着正确的方向前进。
【讨论】:
感谢您的支持。但有一个问题,我在上面写的整个程序是错误的还是我遗漏了什么? @The Tokenizer 如果到那时没有人给出可靠的答案,我会在这个周末检查一下。您是否已将此权限 <uses-library android:name="com.google.android.maps"/> and <uses-permission android:name="android.permission.INTERNET"/>
放入清单中?并在您的项目-> 属性-> Android 中选择了 Google API?你也有你的MD5证书吗?完整的官方教程请看这里https://developers.google.com/maps/documentation/android/hello-mapview
【讨论】:
是的,我有。我已经完成了你所说的所有事情。该应用程序显示谷歌地图,但是当我通过 DDMS 或 TELNET 提供 lan 和 lat 时,该应用程序没有响应。 @Dinesh Venkata【参考方案3】:下载完整的工作演示:
http://www.filedropper.com/androidopenstreetmapview120516a
如果地图没有在模拟器或移动设备中显示,则更改地图 API 密钥。
【讨论】:
以上是关于如何在android的谷歌地图上用标记显示我的当前位置的主要内容,如果未能解决你的问题,请参考以下文章
如何在android中的谷歌地图上绘制路线并计算多个标记之间的距离
如何在android的谷歌地图V2上添加谷歌素材图标“我的位置”?