このトピックでは、WVLocation の JavaScript API について説明します。HTML5 アプリまたはミニアプリを作成する際に、このトピックを参照できます。 WVLocation の JavaScript API を使用して、地理位置情報を検索または取得できます。
WVLocation.getLocation
地理位置情報を取得します。
iOS 8から iOS 10 までは、Info.plistにNSLocationWhenInUseUsageDescriptionとNSLocationAlwaysUsageDescriptionが追加された後にのみ、位置情報の許可のリクエストが表示されます。iOS 11以降では、Info.plistにNSLocationAlwaysAndWhenInUseUsageDescriptionとNSLocationWhenInUseUsageDescriptionが追加された後にのみ、位置情報の許可のリクエストが表示されます。iOS では、この API を呼び出すために EMASUserInfoService を登録する必要があります。
入力パラメーター
[
string]enableHighAccuracy: (オプション)高精度な位置情報を取得するかどうかを指定します。有効な値:trueおよびfalse。デフォルト値:false。[
boolean]address: (オプション)中国(杭州)などの住所を取得するかどうかを指定します。有効な値:trueおよびfalse。このパラメーターを false に設定すると、応答時間を短縮できます。デフォルト値:false。
コールバックパラメーター
コールバックパラメーターは、コールバックメソッドを使用して渡されます。地理位置情報が取得された場合は、success コールバックが呼び出されます。それ以外の場合は、failure コールバックが呼び出されます。
[
object]coords: 位置情報の座標。[
string]longitude: 経度。[
string]latitude: 緯度。[
string]accuracy: 精度。
[
object]address: 住所。[
string]city: 市。[
string]province: 省。[
string]area: 地区。[
string]road: 道路。[
string]addressLine: 詳細な住所。[
string]cityCode: 市コード。Android アプリが Taobao でない場合、Google から返されるデータにこのフィールドが含まれていないため、市コードを取得できません。
位置情報の精度と位置情報インターフェイスは、返される住所に影響を与える可能性があります。住所に一部のフィールドが含まれていない場合や、住所が不正確な場合があります。そのため、HTML5 アプリまたはミニアプリで異常データに対する適切なエラー処理を設定することをお勧めします。
var params = {
// 高精度な位置情報を取得するかどうかを指定します。
enableHighAccuracy: true,
// 住所を取得するかどうかを指定します。
address: true
};
window.WindVane.call('WVLocation', 'getLocation', params, function(e) {
alert('success:' + JSON.stringify(e));
}, function(e) {
alert('failure:' + JSON.stringify(e));
});
WVLocation.searchLocation
この API は、WindVane iOS でのみ使用できます。
指定された住所を検索し、緯度と経度を取得します。
入力パラメーター
[
string]addrs: 検索する住所。
コールバックパラメーター
コールバックパラメーターは、コールバックメソッドを使用して渡されます。地理位置情報が取得された場合は、success コールバックが呼び出されます。それ以外の場合は、failure コールバックが呼び出されます。
[
string]longitude: 経度。[
string]latitude: 緯度。
var params = {
// 検索する住所。
addrs: ' No.960 xxxx West Road'};
window.WindVane.call('WVLocation', 'searchLocation', params, function(e) {
alert('success:' + JSON.stringify(e));
}, function(e) {
alert('failure:' + JSON.stringify(e));
});