iPhone と Android の両方の開発に Titanium SDK 1.5.1 を使用しています。iPhoneで現在の位置を完全にマップにロードするアプリがあります。しかし、Android の場合、Geolocation API からのエラー以外は何も表示されません。
Android Map API キーとその他のプロパティを tiapp.xml ファイルに追加しました。
<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 ファイルに次の 2 行を追加しました。
Titanium.Geolocation.accuracy = Titanium.Geolocation.ACCURACY_BEST;
Titanium.Geolocation.distanceFilter = 10;
そして、呼び出しのコードは次のとおりです。
Titanium.Geolocation.getCurrentPosition(関数(e){
if (e.error)
{
alert('Error while retrieving your position!');
return;
}
var longitude = e.coords.longitude;
var latitude = e.coords.latitude;
....
私のデバイスでは、(Android の設定で) Android に自分の位置へのアクセスを許可しても、アプリは上記のアラートを返します。
それで、問題は何ですか?
よろしくお願いします!