5

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 に自分の位置へのアクセスを許可しても、アプリは上記のアラートを返します。

それで、問題は何ですか?

よろしくお願いします!

4

1 に答える 1

2

@Fa11enAngelJの引用

これはTitanium1.5.1のバグのようです。

このトピックに関するサポートリクエストを見てきました。

ナイトリービルドを使用してみてください:Appcelerator Continuous Builds

于 2011-08-08T01:17:38.287 に答える