2012-07-27 57 views
0

我使用的是Phonegap(cordova-2.0.0),並且我在其他文件中將cordova-2.0.0.js放在assets/www目錄中,我已經將cordova-2.0 .0.jar在引用的庫中。我已經在Android清單和config.xml中添加了必需的代碼。我創建了一個名爲'storelocation.html'的html文件,我希望該文件獲取用戶當前的座標,並將其傳遞到Google地圖中,這些地圖將使這些座標位於地圖的中心。我不確定這個文件中的代碼有什麼問題,有人可以檢查一下,看看我是不是很笨?使用Google地圖的地理位置不能使用PhoneGap

<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 

<title>Device Properties Example</title> 

<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script> 
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=AIzaSyBlNOgoh-8Xg9_OYqUUxReMJZk4syLFayM&sensor=true"type="text/javascript"></script> 
<script type="text/javascript"> 

// Wait for Cordova to load 

document.addEventListener("deviceready", onDeviceReady, false); 

// Cordova is ready 
// 
function onDeviceReady() { 
navigator.geolocation.getCurrentPosition(onSuccess, onError,   {enableHighAccuracy:true }); 
} 

// onSuccess Geolocation 
// 
/* function onSuccess(position) { 
    var element = document.getElementById('geolocation'); 
    element.innerHTML = 'Latitude: '   + position.coords.latitude    + '<br />' + 
         'Longitude: '   + position.coords.longitude    + '<br />' + 
         'Altitude: '   + position.coords.altitude    + '<br />' + 
         'Accuracy: '   + position.coords.accuracy    + '<br />' + 
         'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '<br />' + 
         'Heading: '   + position.coords.heading    + '<br />' + 
         'Speed: '    + position.coords.speed     + '<br />' + 
         'Timestamp: '   +         position.timestamp   + '<br />'; 
} 

// onError Callback receives a PositionError object 
// 
function onError(error) { 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
} */ 
      var element = document.getElementById('geolocation'); 


function initialize() { 
if (GBrowserIsCompatible()) { 
var map = new GMap2(document.getElementById("map_canvas")); 
map.setCenter(new GLatLng(position.coords.latitude, position.coords.longitude), 13); 
map.setUIToDefault(); 

} 
} 



</script> 
</head> 
<body onload="initialize()" onunload="GUnload()"> 
<div id="map_canvas" style="width: 500px; height: 300px"></div> 
</body> 
</html> 

事先非常感謝,我真的很感激,如果你的天才之一可以幫助我,我一直在想看看現在是錯誤的,就像2天。順便說一句,用戶的座標找不到,找到它們的唯一方法(我發現)是使用telnet使用geo fix,但我想讓手機找到座標而不是我。

回答

0

你好,我基本上和你一樣嘗試。谷歌手機地圖上的地理位置。

您能否澄清: 「順便說一句,用戶的coördinates找不到,找到他們(我發現)的唯一方法是使用telnet的地理修復,但我想要手機找到coördinates而不是我「。

一臺電腦顯然沒有GPS,因此它可以在您的模擬器上工作,您需要仿真(僞造)GPScoördinates。

您是否已將Google地圖添加到白名單權限?

鏈接到我的線程Phone gap geolocation with google maps 雖然我正在使用其他代碼,我正試圖完成相同的操作。

0

小心使用Google Api SDK而不是Android SDK。 在eclipse中檢查你的構建路徑=>配置構建路徑=>點擊Android並選擇例如Google Api 2.3.3/10.