如何更改颜色多边形(kml + geoXml)? [英] How to change color polygon(kml+geoXml)?

查看:273
本文介绍了如何更改颜色多边形(kml + geoXml)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用geoXml3帮助在我的网站上显示KML地图。有多边形和标记。但是当我想用多边形做一些点击操作时,什么都不会发生。我想更改颜色按多边形并更改颜色兄弟多边形。可以帮我?
这是我的代码:

$ p $ function initialize(){
myLatLng = new google.maps.LatLng (-34.397,150.644);

var myOptions = {
center:{lat:55.864237,lng:-4.251806},
zoom:12,
scrollwheel:false,
mapTypeId :google.maps.MapTypeId.HYBRID
};

map = new google.maps.Map(document.getElementById(map),myOptions);

geoXml = new geoXML3.parser({
map:map,
singleInfoWindow:true,
afterParse:myfunction
});
geoXml.parse('http://165.227.72.239/wp-content/uploads/2016/09/glasgow.kml');


函数myfunction(doc){

google.maps.event.addListener(doc,click,function(){
console .log('gdf');
for(var i = 0; i< doc.gpolygons.length; i ++)
doc.gpolygons [i] .setOptions({strokeColor:#000} );
});
}
initialize();


解决方案

我相信我有一个解决方案。



另外,我将给出一个插件到我的GeoXML3示例上Github

  var geoXml; 

函数initialize(){
myLatLng = new google.maps.LatLng(-34.397,150.644);

var myOptions = {
center:{lat:55.864237,lng:-4.251806},
zoom:12,
scrollwheel:false,
mapTypeId :google.maps.MapTypeId.HYBRID
};

map = new google.maps.Map(document.getElementById(map),myOptions);

geoXml = new geoXML3.parser({
map:map,
singleInfoWindow:true,
afterParse:myfunction
});
geoXml.parse('http://165.227.72.239/wp-ontent/uploads/2016/09/glasgow.kml');
}

函数myfunction(doc){
// doc进来的是来自GeoXML3的对象数组,每个KML一个。因为只有1,
//我们将会推测0是我们的目标,我们不能使用gpolygons,一组Google地图多边形实例
var polygons = doc [0] .gpolygons; (polygonindex = 0,loopend = polygons.length; polygonindex< loopend; polygonindex ++){
google.maps.event.addListener(polygons [polygonindex],click,function)的

(){
console.log('gdf');
this.setOptions({strokeColor:#000});
});
}
}
initialize();


I show KML map on my site with help geoXml3. There are polygons and markers. But when I want to do something with polygons on click him, nothing happens. I want to change color pressed polygon and change color siblings polygons. Can help me? It is my code:

function initialize(){
    myLatLng = new google.maps.LatLng(-34.397, 150.644);

    var myOptions = {
        center: {lat: 55.864237, lng: -4.251806},
        zoom: 12,
        scrollwheel: false,
        mapTypeId: google.maps.MapTypeId.HYBRID
    };

    map = new google.maps.Map(document.getElementById("map"), myOptions);

    geoXml = new geoXML3.parser({
        map: map,
        singleInfoWindow: true,
        afterParse: myfunction
    });
    geoXml.parse('http://165.227.72.239/wp-content/uploads/2016/09/glasgow.kml');
}

function myfunction(doc){

    google.maps.event.addListener(doc,"click",function() {
        console.log('gdf');
        for (var i=0;i<doc.gpolygons.length;i++)
            doc.gpolygons[i].setOptions({strokeColor: "#000"});
    });
}
initialize();

解决方案

I believe I have a solution.

In addition, I will give a plug to my GeoXML3 example on Github

var geoXml;

function initialize() {
    myLatLng = new google.maps.LatLng(-34.397, 150.644);

    var myOptions = {
        center: {lat: 55.864237, lng: -4.251806},
        zoom: 12,
        scrollwheel: false,
        mapTypeId: google.maps.MapTypeId.HYBRID
    };

    map = new google.maps.Map(document.getElementById("map"), myOptions);

    geoXml = new geoXML3.parser({
        map: map,
        singleInfoWindow: true,
        afterParse: myfunction
    });
    geoXml.parse('http://165.227.72.239/wp-ontent/uploads/2016/09/glasgow.kml');
}

function myfunction(doc){
    // doc coming in is an array of objects from GeoXML3, one per KML.  Since there's only 1, 
    // we'll assumpe 0 is our target and we wnant gpolygons, an array of Google Maps Polygon instances
    var polygons = doc[0].gpolygons;

    for (polygonindex = 0, loopend = polygons.length; polygonindex < loopend; polygonindex++) {
        google.maps.event.addListener(polygons[polygonindex], "click", function() {
            console.log('gdf');
            this.setOptions({strokeColor: "#000"});
        });
    }
}
initialize();

这篇关于如何更改颜色多边形(kml + geoXml)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆