在MVC 5视图中以不同的颜色显示谷歌地图图标



谁能告诉我谷歌地图为动态定位的项目生成的Java脚本或C#代码对于不同的类别级别,以不同的颜色显示谷歌地图图标。

这是我的控制器返回值变量映射 = db。Locations.ToList(); 视图(地图)。这个数据库表大约有 100 条记录,例如我需要的类别名称 AAA 有记录 12,BBB 有 10 条,等等。每个类别项目都需要以不同的颜色显示谷歌地图图标。我已经附上了我的代码。

    public ActionResult Index()
    {
        List<SelectListItem> CourierList = new List<SelectListItem>();
        var couriers = db.Locations.Select(x => x.CouriersName).Distinct().ToList();
        ViewBag.CourierList = new SelectList(couriers);
        var map = db.Locations.ToList();

        return View(map);
    }
您可以在从

数据库拉取时在列表上添加图标,如果您在存储 PROC 上使用

WHEN Category = 'AAA' THEN 'red.ico' END

或者可以在 JavaScript 中提取 catergory 并相应地检查它

var list = @Html.Raw(Json.Encode(ViewBag.CourierList));
    for (var i = 0; i < list.length-1; i++) {
        var model = list[i];
        addMarker(model.IconUrl, new google.maps.LatLng(model.Latitude, model.Longitude));
        --addMarker(returnIcon(model.Category), new google.maps.LatLng(model.Latitude, model.Longitude)); for category
        }
    function addMarker(iconUrl, myLatLng) {
        var marker = new google.maps.Marker({
            position: myLatLng,
            icon: iconUrl,
            map: map
        });
    }
    function returnIcon(category){
        var iconUrl = 'default.ico';
        if(category == 'AAA')
            iconUrl = 'abc.ico';
        if(category == 'BBB')
            iconUrl = 'red.ico';
        return iconUrl;
    }

最新更新