【问题标题】:android Google maps marker problmeandroid谷歌地图标记问题
【发布时间】:2013-08-03 00:14:07
【问题描述】:

我有以下问题,我添加了几个标记,50% 的黑点和 50% 的红点作为图标,但其中 90% 出现了黑点。那些应该是当我按下它们并返回时,红色变为红色。为什么?

谢谢

P.S.这是代码

mMap = mapFragment.getMap();
StationAccess stationAccess = new StationAccess(getApplicationContext());
List<Station> stationList = stationAccess.getByBusName(getTitle().toString());
if(s.getRouteType().toString().contains("TUR")){
    mMap.addMarker(new MarkerOptions().position(new LatLng(s.getLatitude(),s.getLongitude())).title(s.getRouteType().toString()).icon(BitmapDescriptorFactory.fromResource(R.drawable.punct_negru)));
            }
if(s.getRouteType().toString().contains("RETUR")){
    mMap.addMarker(new MarkerOptions().position(new LatLng(s.getLatitude(),s.getLongitude())).title(s.getRouteType().toString()).icon(BitmapDescriptorFactory.fromResource(R.drawable.punct_rosu)));
            }

【问题讨论】:

    标签: java android maps marker


    【解决方案1】:

    这是因为“RETUR”还包含字符串“TUR”。因此,对于第二个 if 语句为 true 的任何 getRouteType 字符串对于第一个也为 true。

    我建议不要对 s.getRouteType() 进行字符串比较。我不熟悉你的类结构,但如果它是一个枚举,它可能看起来像

    if (s.getRouteType().equals(RouteType.*Something*)) {
        mMap.addMarker(new MarkerOptions().position(new LatLng(s.getLatitude(),s.getLongitude())).title(s.getRouteType().toString()).icon(BitmapDescriptorFactory.fromResource(R.drawable.punct_negru)));
    } else if (s.getRouteType().equals(RouteType.*SomethingElse*)) {
        mMap.addMarker(new MarkerOptions().position(new LatLng(s.getLatitude(),s.getLongitude())).title(s.getRouteType().toString()).icon(BitmapDescriptorFactory.fromResource(R.drawable.punct_rosu)));
    }
    

    【讨论】:

    • 是的,就是这样......我已经看过代码几十次了,从来没有质疑过 ifs......谢谢......将其标记为答案
    猜你喜欢
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 2011-04-04
    • 2012-08-07
    • 2021-12-23
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多