我正在DJ Native webBrowser组件中使用GoogleMap制作一个应用程序。我使用 webBrowser.setHTMLContent(String) 将页面加载为字符串。HTML文件包含JavaScript,它添加标记到地图。
我用google-maps-api函数制作了简单的html文件。它在Chrome和Firefox上完美运行。但不是在webBrowser(djnative)中。
我发现没有新标记语句(google.maps.Marker)的脚本工作正常。
有谁知道出了什么问题?有没有办法从网络浏览器显示控制台日志(如 Chrome 中的 ctrl+shift+J)
这是脚本代码:
<script type="text/javascript" src=https://maps.googleapis.com/maps/api/js?key=[MY_KEY]&sensor=false">
</script>
<script type="text/javascript">
var map;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(52.236302, 21.007636),
zoom: 10
};
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
var t = [];
var x = [];
var y = [];
var h = [];
t.push('Location Name 1');
x.push(52.232097);
y.push(20.927985);
h.push('<p><strong>Location Name 1</strong><br/>Address 1</p>');
t.push('Location Name 2');
x.push(52.245097);
y.push(20.945985);
h.push('<p><strong>Location Name 2</strong><br/>Address 2</p>');
/*this is error making code*/
var i = 0;
for ( item in t ) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(x[i], y[i]),
map: map,
title: t[i],
});
i++;
} /*this is end of error making code*/
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
>1.Dj 默认使用IE。 您是否尝试使用IE打开HTML?
2.In DJ,您不能总是设置内容并期望它运行。 例如,如果直接设置编辑器,则 Tinymce 编辑器不会运行.html (HTML Containint Tinymce)。这就是为什么DJ的作者为编辑者制作了内部网络服务器的原因。你必须通过地址调用它(对于编辑器ck和tinymce,dj调用localhost,http://127.0.0.1/tinymce/..但结构太复杂,无法在这里详细介绍。 您可以尝试出于测试目的,将HTML放入一个简单的网页(Tomcat)并通过loadURL调用它(而不是setContent)