使用gmap3 jquery插件从kmllayer获取标记?

时间:2012-11-01 22:49:43

标签: jquery google-maps kml google-maps-markers jquery-gmap3

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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>