ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 在Mapxbox Android上没有在样式化的MapView上显示标记

2019-07-06 10:33:23  阅读:204  来源: 互联网

标签:java android mapbox


我在Mapbox Android上需要一些帮助.我在默认样式的地图上绘制了折线和一些自定义标记没有问题,但是,当我将默认样式更改为自定义样式时,我仍然可以看到折线但不绘制标记(既不是自定义标记也不是默认标记).

任何人都可以帮我解决这个问题吗?

这是我的代码:

//Setting style
mapView.setStyleUrl(Constants.MAP_URL_GREEN);

//Adding polilyne
PolylineOptions options = new PolylineOptions();

for(double[] coordArray : route.getListCoords()) {
    options.add(new LatLng(coordArray[0], coordArray[1]));
 }
options.color(ContextCompat.getColor(getContext(), R.color.color_end_green));
options.width(5);

mapView.addPolyline(options);

//Adding markers
MarkerOptions currentMarker;
for(Point point : route.getListPoints()){
    currentMarker = getMarkerFromPoint(point);
    markers.add(mapView.addMarker(currentMarker));
}

getMarkerFromPoint的位置是:

private MarkerOptions getMarkerFromPoint(Point point) {

    MarkerOptions markerOptions = new MarkerOptions();
    markerOptions.position(new LatLng(point.getLat(), point.getLng()));
    //markerOptions.icon(MapUtils.getPointIcon(point, getContext()));

    return markerOptions;
}

编辑:我正在使用MapBox Android SDK 3.2.0.

提前致谢

解决方法:

所以我测试了一些代码,但无法重现您遇到的问题.我的应用程序以默认样式图开始,然后在用户单击时它将更改为我的一个自定义矢量样式.我确实改变了一些可能无意中修复了问题的代码,最值得注意的改变是使用了Point I而不是使用LatLng.我也没有创建标记列表来添加标记一次创建.

List<LatLng> route = new ArrayList<>();
route.add(new LatLng(29.751260, -95.373639));
route.add(new LatLng(29.752881, -95.374454));
route.add(new LatLng(29.755107, -95.374583));

//Adding markers
MarkerOptions currentMarker;
for(int i=0; i<route.size(); i++) {
    currentMarker = getMarkerFromPoint(route.get(i));
    mapView.addMarker(currentMarker);
    }

我的getMarkerFromPoint()方法:

private MarkerOptions getMarkerFromPoint(LatLng point) {
    MarkerOptions markerOptions = new MarkerOptions();
    markerOptions.position(point);
    return markerOptions;
}

我希望这可以帮助您解决问题,如果我找到解决方案,我将编辑此答案.

标签:java,android,mapbox
来源: https://codeday.me/bug/20190706/1396711.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有