IBM Worklight - 如何使用Google Maps API

时间:2013-08-11 06:48:01

标签: android google-maps-api-3 geolocation ibm-mobilefirst

我的问题是:如何在IBM Worklight应用程序中使用地理定位(使用Google Maps API)。

我很困惑如何让应用程序使用GPS自动检测我的位置? 另外如何使应用程序始终实时跟踪用户位置?

这是我的JavaScript:

var x=document.getElementById("demo");

function getLocation()
  {
  if (navigator.geolocation)
    {
      alert("ya");
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude + 
  "<br>Longitude: " + position.coords.longitude;    
  }

HTML:

<!DOCTYPE HTML>
<html>
        <head>
            <meta charset="UTF-8">
            <title>HTMLGeoLocation</title>
            <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
            <link rel="shortcut icon" href="images/favicon.png">
            <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
            <link rel="stylesheet" href="css/HTMLGeoLocation.css">
            <script>window.$ = window.jQuery = WLJQ;</script>
        </head>
        <body id="content" style="display: none;">
            <!--application UI goes here-->
            <p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Try It</button>
            <script src="js/initOptions.js"></script>
            <script src="js/HTMLGeoLocation.js"></script>
            <script src="js/messages.js"></script>
        </body>
</html>

2 个答案:

答案 0 :(得分:0)

我没有使用IBM Worklight,但我知道它是开发移动应用程序的工具。这里与地理位置无关。

纯粹掌握在HTML5Google maps API手中。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

希望您知道Javascript,上述脚本是Google Maps Javascript API。

if(navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(position); // this will return lat/lng of 
  }                                                     // current location
else {
    //Handle if GeoLocation fails
  }

只有在用户允许的情况下,您才能获得当前位置。你不能强迫获得地理位置。

浏览Google maps API的 Geolocation documentation

由于您提到了 GPS ,请仔细阅读以下突出显示的段落。

  

指定传感器参数

     

使用Google Maps API需要您指明是否   应用程序正在使用传感器(如GPS定位器)来确定   用户的位置。这对于移动设备来说非常重要。   应用程序必须将所需的传感器参数传递给标记   当包含Maps API javascript代码时,指示是否   您的应用程序正在使用传感器设备。

     

通过传感器确定用户位置的应用程序必须通过   加载Maps API JavaScript时,sensor = true。

希望你明白。

答案 1 :(得分:0)

如果您只想在Google地图上显示相关信息,我相信您所寻找的内容here,尤其是“我的位置”图层部分。如果您想要做更多的事情,那么您可以使用新的位置服务API(在IBM Worklight v6.0中提供)来跟踪设备的位置,并使用其他Google Maps功能根据需要绘制标记或形状。有关信息中心中位置服务的概述,请参阅this - 还有一个入门模块。