谷歌API多个标记与不同的颜色取决于一个类
Google API multiple markers with different colours depending on a class
下面的代码是CMS系统使用邮政编码和城市创建的标记。一切都很好,但我要做的是改变每个针的颜色,这取决于一个类,我有3个类,红色,绿色和蓝色,这个标记应该根据在CMS系统中选择的类而改变。实现这一目标的最佳方法是什么?
$(document).ready(function () {
var map;
var elevator;
var myOptions = {
zoom: 3,
center: new google.maps.LatLng(50, -30),
mapTypeId: 'terrain'
};
map = new google.maps.Map($('#map_canvas')[0], myOptions);
var styles = [{"featureType":"water","stylers":[{"color":"#46bcec"},{"visibility":"on"}]},{"featureType":"landscape","stylers":[{"color":"#f2f2f2"}]},{"featureType":"road","stylers":[{"saturation":-100},{"lightness":45}]},{"featureType":"road.highway","stylers":[{"visibility":"simplified"}]},{"featureType":"road.arterial","elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"administrative","elementType":"labels.text.fill","stylers":[{"color":"#444444"}]},{"featureType":"transit","stylers":[{"visibility":"off"}]},{"featureType":"poi","stylers":[{"visibility":"off"}]}];
map.setOptions({styles: styles});
var iterator = 0;
var addresses = [
['<div class="red"></div>New York', ' 10007'],
['<div class="green"></div>Mexico', ' 10100'],
['<div class="blue"></div>Spain', ' 04830'],
];
for (var x = 0; x < addresses.length; x++) {
MarkMe();
}
function MarkMe() {
var add = addresses[iterator];
$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+addresses[x]+'&sensor=false', null, function (data) {
var p = data.results[0].geometry.location
var o = data.results[0]
var latlng = new google.maps.LatLng(p.lat, p.lng);
var pinColor = "red";
var pinImage = new google.maps.MarkerImage('/assets/images/pin-' + pinColor + '.png',
new google.maps.Size(22, 31));
var content = '<div style="width: 150px;">' + add + '<br/></div>';
var marker = new google.maps.Marker({
position: latlng,
map: map,
clickable: true,
icon: pinImage,
title: o + '<br/>' + add,
});
function getInfoCallback(map, content) {
var infowindow = new google.maps.InfoWindow({ content: content });
return function () {
infowindow.setContent(content);
infowindow.open(map, this);
};
};
google.maps.event.addListener(marker, 'click', getInfoCallback(map, content));
});
iterator++;
}
})
你可以创建一个类型为(restaurants,hotels)的数组或者设置validate
的默认值,试试下面的代码:
var marker_new = new Array();
var url = "";
if(a == "hotels"){
url = "http://exampl.com/yellow.png";
}else{
url = "http://exampl.com/green.png"
}
marker_new[i] = google.maps.Marker({
icon: _url;
position: place.geometry.location,
map: map
});
如何使用
marker_new[i] = new google.maps.Marker({
position: place.geometry.location,
map: map
});
iw = new google.maps.InfoWindow({
content: getIWContent(place)
});
iw.open(map, marker_new[i]);
如何使用
marker_new[i] = new google.maps.Marker({
position: results[i].geometry.location,
animation: google.maps.Animation.DROP
});
google.maps.event.addListener(marker_new[i], 'click', getDetails(results[i], i));
或阅读更多:我如何修改标记?
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 动态更改高图中的系列颜色
- jquery移动对齐按钮取决于内容大小
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 如何更改文本区域的颜色's文本,具体取决于它是否为占位符
- 如何更改页眉'的底部边框颜色取决于滚动位置
- 谷歌API多个标记与不同的颜色取决于一个类
- 如何结合javascript与HTML,使表改变颜色取决于值
- 谷歌表JSON表提要,改变颜色的行取决于在单元格中的值
- 更改jQuery UI下拉菜单's的背景颜色取决于复选框状态
- 改变表's列的颜色通过取决于选择
- 如何禁用(或改变颜色)第二个下拉选项取决于第一个选择
- 多个可拖拽元素,颜色不同,取决于可拖拽元素的位置
- JQuery改变TR背景颜色取决于当前选择的文本输入