我将 Titanium SDK 1.5.1 用于 iPhone 和 Android 开发。我有一个应用程序可以在 iPhone 上完美地加载我当前位置的地图。但是,对于 android,除了 Geolocation API 的错误外,什么都没有显示。
我在 tiapp.xml 文件中添加了我的 Android Map API 密钥和其他属性:
<property name="ti.android.debug" type="bool">false</property>
<property name="ti.android.google.map.api.key.development">xxxxxxxxxxxxxxxxxxx</property>
<android xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
</android>
然后,在我的 js 文件中,我添加了两行:
Titanium.Geolocation.accuracy = Titanium.Geolocation.ACCURACY_BEST;
Titanium.Geolocation.distanceFilter = 10;
而且,对于调用,这里是代码:
Titanium.Geolocation.getCurrentPosition(function(e){
if (e.error)
{
alert('Error while retrieving your position!');
return;
}
var longitude = e.coords.longitude;
var latitude = e.coords.latitude;
....
在我的设备上,即使我允许 Android 访问我的位置(在 Android 设置中),该应用程序也会返回上述警报。
那么问题是什么?
提前感谢!