2011-08-05 68 views
5

我正在使用基於Chromium Embedded project的Delphi組件。在使用一些Javascript代碼導航到測試HTML以訪問Google Maps API時,它會顯示觸控設備的控件。如何強制Google Maps API v3放棄觸摸支持?

我已經看到這issue已經固定在項目的svn中,但我正在經歷地獄編譯這些東西。但是,如果我轉到maps.google.com網站(而不是使用Javascript測試HTML),那麼我的組件將顯示未啓用觸摸的設備的控件。

所以,我想知道...有沒有辦法強制Google Maps v3 API接受我作爲非觸控設備?

編輯:添加用戶代理和測試用例如下。

用戶代理:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.36 (KHTML, like Gecko) Chrome/12.0.742.53 Safari/534.36 

測試用例:

<!DOCTYPE html> 
<html> 
    <head> 
    <style type="text/css"> 
     html { height: 100% } 
     body { height: 100%; margin: 0px; padding: 0px } 
     #map_canvas { height: 100% } 
    </style> 
    <script type="text/javascript" 
     src="http://maps.googleapis.com/maps/api/js?sensor=false&language=pt_BR&region=BR"> 
    </script> 
    <script type="text/javascript"> 
     var map; 
     function initialize() { 
     var latlng_map = new google.maps.LatLng(-23.510700, -46.602300); 
     var myOptions_map = { 
     zoom: 15, 
     center: latlng_map, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions_map); 
    } 
    </script> 
    </head> 
    <body onload="initialize()"> 
    <div id="map_canvas" style="width:100%; height:100%"></div> 
    </body> 
</html> 
+2

你可以顯示你用來加載谷歌地圖的代碼嗎?您是否檢查Chromium組件使用的用戶代理? – RRUZ

+0

目前cef的二進制版本解決了這篇文章中討論的問題,儘管目前爲止還沒有人知道答案。 – ivarec

回答

0

地圖API依賴於瀏覽器正確暴露自己的能力(例如啓用觸摸)。沒有理智的方法來強制API丟棄觸摸支持。