Printing API-Generated Google Maps from Internet Explorer

浪子不回头ぞ 提交于 2019-12-08 11:12:59

问题


Having an odd problem printing an API-generated (V3) Google Map from Internet Explorer 7 & 8.

I generate my map with JavaScript similar to the following:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
    var centroid = new google.maps.LatLng(35.9948166667, -83.9781791667);
    var myOptions = {
      disableDefaultUI: true,
      zoom: 12,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: centroid
    };
    var map = new google.maps.Map(document.getElementById("map"), myOptions);
    var marker0 = new google.maps.Marker({
      position: new google.maps.LatLng(36.1102, -83.9208),
      map: map
    });
    var marker1 = new google.maps.Marker({
      position: new google.maps.LatLng(36.001, -83.8646),
      map: map
    });
}
</script>

Typically there are about 25-35 markers on any of my maps. These print just great from Safari, Firefox, and Chrome, on both OS X & Windows XP. But, as soon as I try to print from Internet Explorer 7 or 8, the maps go all crazy: they overflow their boundaries that I set in the print CSS and the markers disappear from the map, leaving just a blank spot on the map.

Anyone encountered this/know how to proceed?

TIA.


回答1:


IIRC, you'll have to use the Google Static Maps API if you want printer friendly maps.

It should be pretty easy to build the Static Maps API URL request string from the LatLng or your markers. One caveat is that the URL is limited to 2048 characters including any character escapes, this will limit how many markers you can have on the map at one time.

[Edit] In the Javascript API, markers have the class 'gmnoprint', which disables them from showing up on the printed rendering. You can iterate through the markers and remove this class, which should allow them to be printed on the page. As far as I know, this will not work for the direction lines.



来源:https://stackoverflow.com/questions/3532234/printing-api-generated-google-maps-from-internet-explorer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!