我正在使用不受支持的Mapbox的android-sdk-legacy SDK。来自Mapbox网站的访问令牌未获取磁贴。
目的:它支持Mapbox上的聚簇标记。
错误:无法获取磁贴,因为它无法验证证书并且已于2015年12月14日过期。
这是否意味着无法使用此SDK?另外,我可以使用SDK并使用Mapbox-gl-native for Android
托管我自己的地图服务器请帮助。
好的,这是Mapbox 0.7.4版本的基本实现
编辑:
public class MainDiscoverFragment extends android.app.Fragment{
private MapView mapView ;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_main_discover, container, false) ;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
init(view) ;
setInit() ;
LatLng location = new LatLng(20.593684, 78.9628800) ;
mapView.getOverlays() ;
Marker marker = new Marker(mapView, "Abhinav Das", "Active 10hours ago", location) ;
mapView.addMarker(marker);
}
private void init(View view) {
mapView = (MapView) view.findViewById(R.id.discover_mapview) ;
}
private void setInit() {
MapView mapView = new MapView(getActivity());
mapView.setAccessToken(getResources().getString(R.string.mapbox_access_token));
mapView.setTileSource(new MapboxTileLayer("mapbox.streets"));
}
}
答案 0 :(得分:0)
您仍然可以使用Android Legacy SDK。您能确保使用正确的样式URL吗?我在我的一个应用程序中使用旧的SDK,它仍然可以正常工作。您是否在Mapbox.com上查看了自己的帐户?
以下是我在app中设置mapview的方法:
MapView mv = (MapView) this.findViewById(R.id.mapview);
mv.setCenter(new LatLng(29.7199489, -95.3422334));
mv.setZoom(17);
mv.setScrollableAreaLimit(scrollLimit);
mv.setMinZoomLevel(16);
mv.setMaxZoomLevel(21);
并且在布局中我想要包含我添加的地图:
<com.mapbox.mapboxsdk.views.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
mapbox:mapid="{username}.{mapid}"
mapbox:accessToken="Your access token here"/>
您可以在旧Mapbox editor
中的地图样式中获取mapid如果你发布了一些代码,我可能会发现任何错误,如果有的话,我会编辑这个答案。
希望这有帮助!