0

我正在使用 jquery 插件 gmap3 并且正在使用 kmllayer。如何从 kml 获取标记?我需要按区域过滤标记

4

2 回答 2

1

您无法访问 KmlLayer 中的标记(它由 Google 的服务器呈现为地图图块)。您可以使用 FusionTableLayer(您可以将 KML 导入 FusionTable,然后修改对该 FusionTable 的查询以过滤标记)或第三方 KML 解析器,如geoxml3geoxml-v3(使用本机 Google Maps v3 对象呈现 KML) . 不确定它们是否适用于 gmap3。

于 2012-11-01T23:52:30.123 回答
1
var klms = [{"url":"http:\/\/example.com\/points_in_a_kml_file.kml"}];

if(klms){
    $.each(klms, function(i, klms){
        $('#map').gmap3({
            action: 'addKmlLayer',
            url: klms.url,
            options:{
                suppressInfoWindows: true,
                preserveViewport:  false
            }
        })
    })
}

“points_in_a_kml_file.kml”:

<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Style id="style0">
    <IconStyle scale="0.181818">
        <Icon>
            <href>http://example.com/pin.png</href>
        </Icon>
    </IconStyle>
</Style>
<Folder>
    <name>pulau_weh_point</name>
    <Placemark>
        <name>Mama's</name>
        <description><![CDATA[Point's description]]></description>
        <Point>
            <coordinates>95.255227,5.875082,0.000000</coordinates>
        </Point>
        <styleUrl>#style0</styleUrl>
    </Placemark>
</Folder>
</Document>
于 2013-06-18T09:41:26.937 回答