我在Worklight中有以下文件。我想在worklight应用程序上加载地图。它在“设计”视图中可见,但在模拟器和模拟器上都不可见。请帮助。
//index.html
<div id="pagePort"></div>
//page1.html
<script src="js/page1.js"></script>
<div id="content">
<button type="button" onclick="loadPage5();">Click</button>
</div>
//page1.js
function loadPage5()
{
var pagepath="page5.html";
pagesHistory.push("page1.html");
$("#pagePort").load(pagepath,function(){WL.Logger.info("Page Loaded");});
}
//page5.html
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<body>
<div id="map-canvas"></div>
<script src="js/page5.js"></script>
<script src="js/page1.js"></script>
<script src="js/initOptions.js"></script>
<script src="js/main.js"></script>
<script src="js/messages.js"></script>
</body>
//page5.js
function initialize() {
var myLatlng1 = new google.maps.LatLng(28.5084805,77.2272778);
var mapOptions = {
zoom: 11,
center: myLatlng1
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker1 = new google.maps.Marker({
position: myLatlng1,
map: map,
});
google.maps.event.addDomListener(window, 'load', initialize);
怎么做?
答案 0 :(得分:0)
最好将Javascript
与index.html
文件分开,然后按照以下步骤操作。
您可以简单地将value
传递给onchange
事件,例如
<select onchange="initialize(" + this.value + ")">
然后
function initialize(value) { // process the value
var myLatlng1 = new google.maps.LatLng(28.5084805,77.2272778);
var myLatlng2 = new google.maps.LatLng(28.6473116,77.1559846);
var mapOptions = {
zoom: 11,
switch(value){
case "south": center: myLatlng1; break;
case "west": center: myLatlng2; break;
}
}
答案 1 :(得分:0)
根据对问题的评论和编辑对答案进行重大修订
请参阅以下Worklight 6.1.0.1示例项目,该示例项目演示页面导航以及在应用程序的其他页面中加载Google地图。
此示例基于IBM提供的相同多页示例,上面的代码段基于:
在Worklight Console预览以及iOS模拟器中进行过。