思路是在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>
相关推荐
在这些示例中,我们直接加载了Roboto的常规字体,而不是整个字体家族。如果你需要切换不同样式,可以创建不同权重的`Typeface`对象并相应地设置。 需要注意的是,不是所有设备都支持所有字体,因此在某些情况下可能...
Roboto是一款由Google设计的开源字体,它具有简洁、现代的设计风格,适用于多种屏幕尺寸和分辨率,是Android系统的主要默认字体。引入Roboto字体可以使我们的应用看起来更接近现代设计标准,提升整体的UI美感。 在...
这是Roboto的源存储库:Google的签名字体系列,Android和Chrome OS上的默认字体以及Google的视觉语言Material Design的推荐字体。 它还包含用于创建Roboto的工具链。 字体家族支持Unicode 7.0中的所有拉丁,西里尔...
Sketch-Roboto-Font-Fixer 是一款专为设计师打造的Sketch插件,其主要功能是解决在使用Roboto字体时可能出现的字符间距问题。在设计界,Sketch是一款非常流行且强大的矢量图形编辑工具,尤其在UI和UX设计领域中被...
Roboto字体是一款由Google设计的开源字体家族,广泛应用于Android、Chrome OS以及许多其他软件和网站。这个名为"Roboto_font.zip"的压缩包包含了Roboto字体的多个文件,可能包括不同风格和字重的字体文件,如Regular...
Roboto是一款由Google设计的现代无衬线字体,旨在提供良好的可读性和适应性,适用于多种屏幕尺寸和设备。在Bootstrap等流行的前端框架中,Roboto常作为默认字体使用,因为它的简洁和易读性深受开发者喜爱。 然而,...
在Android开发中,为应用程序设置自定义字体和使用系统提供的Roboto字体是提升用户体验的重要手段。本文将详细介绍这两种方法。 首先,让我们来探讨如何在Android中实现自定义字体。Android提供了一个名为`Typeface...
Roboto-Regular.ttf字体下载