`
sunxboy
  • 浏览: 2877706 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

如何防止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>

 

 

 

分享到:
评论

相关推荐

    Android字体设置及Roboto字体使用方法

    在Android开发中,为应用程序设置自定义字体和使用系统提供的Roboto字体是提升用户体验的重要手段。本文将详细介绍这两种方法。 首先,让我们来探讨如何在Android中实现自定义字体。Android提供了一个名为`Typeface...

    安卓textView相关-实现谷歌新款字体Roboto的TextViewGoogle描述该字体为“现代的丶但平易近人”和“情绪化”的.rar

    在这些示例中,我们直接加载了Roboto的常规字体,而不是整个字体家族。如果你需要切换不同样式,可以创建不同权重的`Typeface`对象并相应地设置。 需要注意的是,不是所有设备都支持所有字体,因此在某些情况下可能...

    uwp wpf使用第三方字体

    Roboto是一款由Google设计的开源字体,它具有简洁、现代的设计风格,适用于多种屏幕尺寸和分辨率,是Android系统的主要默认字体。引入Roboto字体可以使我们的应用看起来更接近现代设计标准,提升整体的UI美感。 在...

    roboto:Roboto字体家族

    这是Roboto的源存储库:Google的签名字体系列,Android和Chrome OS上的默认字体以及Google的视觉语言Material Design的推荐字体。 它还包含用于创建Roboto的工具链。 字体家族支持Unicode 7.0中的所有拉丁,西里尔...

    Sketch-Roboto-Font-Fixer:一个Sketch插件,用于调整Roboto字体的字符间距

    Sketch-Roboto-Font-Fixer 是一款专为设计师打造的Sketch插件,其主要功能是解决在使用Roboto字体时可能出现的字符间距问题。在设计界,Sketch是一款非常流行且强大的矢量图形编辑工具,尤其在UI和UX设计领域中被...

    Roboto_font.zip

    Roboto字体是一款由Google设计的开源字体家族,广泛应用于Android、Chrome OS以及许多其他软件和网站。这个名为"Roboto_font.zip"的压缩包包含了Roboto字体的多个文件,可能包括不同风格和字重的字体文件,如Regular...

    Roboto css 离线版

    Roboto是一款由Google设计的现代无衬线字体,旨在提供良好的可读性和适应性,适用于多种屏幕尺寸和设备。在Bootstrap等流行的前端框架中,Roboto常作为默认字体使用,因为它的简洁和易读性深受开发者喜爱。 然而,...

    Roboto-Regular.ttf

    Roboto-Regular.ttf字体下载

Global site tag (gtag.js) - Google Analytics