在谷歌地图HTML中简单地添加KML图层

simple add kml layer in google maps html

本文关键字:添加 KML 图层 简单 谷歌地图 HTML      更新时间:2023-09-26

我关于谷歌地图API的第一个问题。这段代码的作用是将我们定向到地图上的某个位置。问题是我正在尝试向其添加像折线这样的谷歌对象,但我在网页上看不到它们。

1.为什么看不到绘制的折线?

如何添加 1. 折线 2.kml层 3.xml数据从单独的文件到下面的代码中的按钮中。

    <!--
        var mapa;       // obiekt globalny
        var dymek;      // okno z informacjami
        var geokoder    = new google.maps.Geocoder();
        var rozmiar             = new google.maps.Size(32,32);
        var rozmiar_cien        = new google.maps.Size(59,32);
        var punkt_startowy      = new google.maps.Point(0,0);
        var punkt_zaczepienia   = new google.maps.Point(16,16);
        var ikona               = new google.maps.MarkerImage("http://maps.google.com/mapfiles/kml/pal3/icon52.png", rozmiar, punkt_startowy, punkt_zaczepienia);
        var cien                = new google.maps.MarkerImage("http://maps.google.com/mapfiles/kml/pal3/icon52s.png", rozmiar_cien, punkt_startowy, punkt_zaczepienia);
        var wskaznik            = new google.maps.Marker({icon: ikona, shadow: cien});
        function mapaStart()
        {
            var wspolrzedne = new google.maps.LatLng(37.7671, -122.4206);
            var opcjeMapy = {
                zoom: 15,
                center: wspolrzedne,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                disableDefaultUI: true
            };
            mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy);
            dymek = new google.maps.InfoWindow();
            // Creating an array that will contain the points for the polyline 
            var route = [     
                new google.maps.LatLng(37.7671, -122.4206),       
                new google.maps.LatLng(34.0485, -118.2568)    
            ];          // Creating the polyline object 
            var polyline = new google.maps.Polyline({
                path: route, strokeColor: "#ff0000",
                strokeOpacity: 0.6,      
                strokeWeight: 5     });        
            // Adding the polyline to the map 
            polyline.setMap(map);      

            geokoder.geocode({address: 'Szczecin, Krzywoustego 23'}, obslugaGeokodowania);

        }

        function skoczDoAdresu(adres)
        {
            wskaznik.setMap(null);
            geokoder.geocode({address: adres}, function(wyniki, status)
            {
                if(status == google.maps.GeocoderStatus.OK)
                {
                    mapa.setCenter(wyniki[0].geometry.location);
                    wskaznik.setPosition(wyniki[0].geometry.location);
                    wskaznik.setMap(mapa);
                    dymek.open(mapa, wskaznik);
                    dymek.setContent('<strong>Poszukiwany adres</strong><br />'+adres);
                }
                else
                {
                    alert("Nie znalazłem podanego adresu!");
                }
            });
        }
        function obslugaGeokodowania(wyniki, status)
        {
        }
    -->
</script>

您看不到折线,因为此行中未定义"map":

// Adding the polyline to the map 
polyline.setMap(map);    

你的javascript控制台应该告诉你,google.maps.map对象被称为"mapa"。