jjL*_*Lin 42 android google-maps
运用
mMap.setMyLocationEnabled(true)
Run Code Online (Sandbox Code Playgroud)
可以设置myLocation层启用.
但问题是当用户点击按钮时如何获取myLocation?我想得到经度和纬度.
yed*_*yak 56
Google Maps API位置现在可以使用,即使有听众也可以使用它,例如:
private GoogleMap.OnMyLocationChangeListener myLocationChangeListener = new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
LatLng loc = new LatLng(location.getLatitude(), location.getLongitude());
mMarker = mMap.addMarker(new MarkerOptions().position(loc));
if(mMap != null){
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(loc, 16.0f));
}
}
};
Run Code Online (Sandbox Code Playgroud)
然后为地图设置监听器:
mMap.setOnMyLocationChangeListener(myLocationChangeListener);
Run Code Online (Sandbox Code Playgroud)
当地图首次找到该位置时,将调用此方法.
根本不需要LocationService或LocationManager.
OnMyLocationChangeListener
接口已弃用.请改用com.google.android.gms.location.FusedLocationProviderApi.FusedLocationProviderApi提供改进的定位和功率使用,并由"我的位置"蓝点使用.有关示例代码示例或位置开发人员指南,请参阅示例应用程序文件夹中的MyLocationDemoActivity.
Rya*_*ara 31
目前,GoogleMap.getMyLocation()始终在每种情况下都返回null.
目前有两个针对Google的错误报告,我知道,问题40932和问题4644.
如提出了较早实施LocationListener的是不正确的,因为LocationListener的将是不同步您尝试使用新的API中的LocationOverlay.
按照早期由Pramod J George链接的Vogella网站教程,将为您提供旧版Google Maps API的说明.
所以我很抱歉没有给你一个通过这种方式检索你的位置的方法.目前,locationListener可能是唯一的方法,但我确信谷歌正在努力解决新API中的问题.
也很抱歉没有发布更多链接,StackOverlow认为我是垃圾邮件,因为我没有代表.
---- 2013年2月4日更新----
Google已声明该问题将通过问题4644在Google Maps API的下一次更新中修复 .我不确定何时会发生更新,但一旦完成,我将再次编辑此帖子.
---- 2013年4月10日更新----
谷歌已经表示该问题已通过问题4644修复 .它现在应该工作.
小智 19
试试这个
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = service.getBestProvider(criteria, false);
Location location = service.getLastKnownLocation(provider);
LatLng userLocation = new LatLng(location.getLatitude(),location.getLongitude());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
132670 次 |
最近记录: |