如何在Worklight App上显示Google Map

时间:2014-03-27 10:19:22

标签: javascript google-maps ibm-mobilefirst

我在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);

怎么做?

2 个答案:

答案 0 :(得分:0)

最好将Javascriptindex.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模拟器中进行过。