谁能告诉我谷歌地图为动态定位的项目生成的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;
}