如何防止google map 加载Roboto字体

思路是在window.onload中当检测到加载Roboto字体时,skip掉就可以了。

如下:

 var head = document.getElementsByTagName('head')[0];

                // Save the original method
            var insertBefore = head.insertBefore;

                // Replace it!
            head.insertBefore = function (newElement, referenceElement) {
                if (newElement.href && newElement.href.indexOf('fonts.googleapis.com/css?family=Roboto') > 0) {

                    console.info('Prevented Roboto from loading!');
                    return;
                }
                insertBefore.call(head, newElement, referenceElement);
            };

 

完整代码如下:

<script type="text/javascript">
        var map, geocoder, bounds;//, marker, infowindow;

        window.onload = function() {
            var head = document.getElementsByTagName('head')[0];

                // Save the original method
            var insertBefore = head.insertBefore;

                // Replace it!
            head.insertBefore = function (newElement, referenceElement) {
                if (newElement.href && newElement.href.indexOf('fonts.googleapis.com/css?family=Roboto') > 0) {

                    console.info('Prevented Roboto from loading!');
                    return;
                }
                insertBefore.call(head, newElement, referenceElement);
            };

            // Creating a new map
            var options = {
                zoom: 10,
                center: new google.maps.LatLng(27.9679125,120.7272096),
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                panControl: true,
                streetViewControl: false,
                scaleControl: true
            };
            map = new google.maps.Map(document.getElementById('map_canvas'), options);

            // Making the Geocoder call
            getCoordinates("Parallelweg 2, Groenlo, Netherlands", "PR50S");
            return true;
        }

        // Create a function the will return the coordinates for the address
        function getCoordinates(address, name) {
            // Check to see if we already have a geocoded object. If not we create one
            if (!geocoder) {
                geocoder = new google.maps.Geocoder();
            }
            if (!bounds) {
                bounds = new google.maps.LatLngBounds();
            }

            // Creating a GeocoderRequest object
            var geocoderRequest = {
                address: address
            }

            // Making the Geocode request
            geocoder.geocode(geocoderRequest, function(results, status) {

                // Check if status is OK before proceeding
                if (status == google.maps.GeocoderStatus.OK) {

                    // Center the map on the returned location
                    //map.setCenter(results[0].geometry.location);

                    // Creating a new marker and adding it to the map
                    // at the position of the marker to the returned location
                    var marker = new google.maps.Marker({
                        map: map,
                        position: results[0].geometry.location
                    });

                    if (name) {
                        // Creating a new InfoWindow
                        var infoWindow = new google.maps.InfoWindow();

                        // Creating the content of the InfoWindow to the address and the returned position
                        var content = '<strong>' + name + '</strong><br />';
                        content += '<strong>' + address + '</strong><br />';

                        // Adding the content to the InfoWindow
                        infoWindow.setContent(content);

                        // Opening the InfoWindow
                        //infoWindow.open(map, marker);

                        google.maps.event.addListener(marker, 'click', function() {
                            infoWindow.open(map, marker);
                        });
                    }

                    // Extend bounds to contain new marker
                    bounds.extend(marker.getPosition());
                    //bounds.extend(infoWindow.getPosition());
                    map.fitBounds(bounds);
                }
                // Zoom out a little more to see some surroundings
                map.setZoom(map.getZoom() - 5);
            });
        }
    </script>

 

 

 

你可能感兴趣的:(google map)