我遇到了一些关于CityMaps的定位问题,如下所示:
1.我创建了一个扩展FragmentActivity实现接口MapViewReadyListener,LocationSource,LocationListener的Activity,然后初始化SupportCitymapsMapFragment实例,如下所示设置一些参数:
fragment = (SupportCitymapsMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
mLocationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
mParams = new LocationParams(1, 1000, 1000);
if (fragment != null) {
fragment.getMapView().startUpdatingLocation();
fragment.getMapView().getBusinessLayer().setVisible(false);
fragment.getMapView().getRegionLayer().setVisible(false);
fragment.setMapViewReadyListener(MainActivity.this);
fragment.getMapView().setLocationSource(this);
}在onLocationChanged(Location Location)方法中,我将地图位置设置如下:
CitymapsMapView map = fragment.getMapView();
map.getBusinessLayer().setVisible(false);
map.getRegionLayer().setVisible(false);
LonLat position = new LonLat(location.getLongitude(), location.getLatitude());
int zoom = 15;
float orientation = 45.0f;
float tilt = 15.0f;
MapPosition mapPosition = new MapPosition(position, zoom, orientation, tilt);
map.setMapPosition(mapPosition);但当我打开gps和我的应用程序时,我发现地图上显示的位置不是我的当前位置,而是最后一个位置,更重要的是,有时即使我的网络很好,地图也无法加载,为什么?
2、我正在尝试用其他方法获得经度/纬度坐标,我用传统的方法创建了MapView。当我去一个新的地方并打开我的应用程序时,我发现箭头仍然在最后的位置,但吐司已经正确地给了我关于我当前位置的提示。大约半个小时后,再次打开应用,刚刚好,为什么会这样呢?
3、我已经给标记添加了标签,是否可以自定义标签的字体样式?
发布于 2015-05-27 23:17:45
我是Citymaps SDK的开发人员,我会尽我最大的努力回答你的问题。
1)您似乎误解了LocationSource接口的工作原理。请查看CitymapsLocationSource.java以查看示例实现。
2)如果您使用的是自定义位置源,则需要在位置发生更改时通知地图
3)此时,该API未公开。如果您希望标记标签具有自定义字体,我建议将自定义ViewGroup呈现为Bitmap,并将该Bitmap设置为标记的图像。
https://stackoverflow.com/questions/30399009
复制相似问题