0

我想在 android 应用程序的地图上添加点,我从 Web 服务获取点(纬度,经度),并想用标记将它们放在地图上,但问题是我有两种用户,所以我想放置其中一个具有与其他用户不同的标记

4

1 回答 1

0

你可以做这样的事情:

for (Task tempTask : SGTasksListAppObj.getInstance().tasksRepository.getTasksRepository())
{
    LatLng latlng = new LatLng(tempTask.getLatitude(),tempTask.getLongtitude());
    if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_WAITING))
    {
        newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_blue)));
    }
    else if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_IN_PROGRESS))
    {
        newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_bordo)));
    }
    else if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_ON_THE_WAY))
    {
        newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_turkiz)));
    }
    else if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_COMPLETE))
    {
        newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_orange)));
    }
    else if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_FAILED))
    {
        newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_purpul)));
    }
}

如您所见,我根据标记的状态为标记设置了不同颜色的不同图标。

您可以做一些类似的事情,只需更改您预执行的检查即可。

于 2013-03-03T09:40:15.067 回答