Android:使用早期版本的Mapbox

时间:2016-04-13 12:51:50

标签: android mapbox

我正在使用不受支持的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"));
}
}

1 个答案:

答案 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

如果你发布了一些代码,我可能会发现任何错误,如果有的话,我会编辑这个答案。

希望这有帮助!