如图,取得蓝色图标所在的网格的颜色,然后点击marker的时候弹框显示
这是绘制网格的代码
jsonarr.forEach(function (ret, i) {
var colorval = getcolor(parseInt(level[i]), cropCont);
var polygon3 = new AMap.Polygon({
path: ret,//设置多边形边界路径
strokeColor: '#fafafa', //线颜色
strokeOpacity: 0, //线透明度
strokeWeight: 0, //线宽
fillColor: colorval, //填充色
fillOpacity: 0.7,//填充透明度
cursor: 'pointer',
zIndex: 1,
extData: colorval
});
polygon3.setMap(map);
map.setFitView();//改变缩放比例
});
这是绘制marker并且在点击的时候取到当前坐落在网格的颜色
var lnglats = [
[114.945732, 36.778692],
[114.980104, 36.758409],
];
var infoWindow = new AMap.InfoWindow({ offset: new AMap.Pixel(0, -30) });
for (var i = 0, marker; i < lnglats.length; i++) {
var marker = new AMap.Marker({ //绘制marker
position: lnglats[i],
map: map
});
marker.content = '我是第' + (i + 1) + '个科技小院'; //marker点击时候的弹窗内容
marker.on('click', markerClick); //点击的时候的调用事件
marker.emit('click', { target: marker });
}
function markerClick(e) {
var gps = e.target.getPosition();//marker的中心点
var polygonArray = map.getAllOverlays("polygon"); //获取所有网格polygon
if (polygonArray.length > 0) {
for (var i = 0; i < polygonArray.length; i++) { //遍历polygon
if (polygonArray[i].contains(gps)) { //如果当前面中存在marker的坐标点
alert(polygonArray[i].getExtData()) //弹出当前网格的颜色属性
}
}
}
infoWindow.setContent(e.target.content);
infoWindow.open(map, e.target.getPosition());
}
完美!!!!!!