O WVLocation fornece APIs JavaScript de localização geográfica para aplicativos HTML5 e miniapps do WindVane. Use WVLocation.getLocation para obter a posição atual do dispositivo e WVLocation.searchLocation para converter um endereço em coordenadas.
WVLocation.getLocation
Obtém a localização geográfica atual do dispositivo.
No iOS, configure os itens abaixo antes de chamar esta API:
iOS 8–10: adicione
NSLocationWhenInUseUsageDescriptioneNSLocationAlwaysUsageDescriptionao arquivoInfo.plistpara acionar o prompt de permissão de localização.iOS 11 ou posterior: adicione
NSLocationAlwaysAndWhenInUseUsageDescriptioneNSLocationWhenInUseUsageDescriptionao arquivoInfo.plist.Todas as versões do iOS: registre
EMASUserInfoServiceantes de chamar esta API.
Parâmetros de entrada
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
|
Não |
Define se deve solicitar uma localização de alta precisão. Valores válidos: |
|
|
|
Não |
Indica se a resposta deve incluir um endereço com geocodificação reversa (como cidade e província). Definir este valor como |
Resposta de sucesso
O callback recebe um objeto com os seguintes campos.
coords — objeto de coordenadas (object)
|
Campo |
Tipo |
Descrição |
|
|
|
Longitude da localização. |
|
|
|
Latitude da localização. |
|
|
|
Raio de precisão, em metros. |
address — objeto de endereço (object, retornado apenas quando address: true)
|
Campo |
Tipo |
Descrição |
|
|
|
Nome da cidade. |
|
|
|
Nome da província. |
|
|
|
Nome do distrito. |
|
|
|
Nome da via. |
|
|
|
Endereço completo formatado. |
|
|
|
Código da cidade. Disponível apenas em aplicativos Android do Taobao. Aplicativos Android fora do ecossistema Taobao e respostas baseadas no Google não incluem este campo. |
A precisão da localização e o provedor subjacente afetam os campos de endereço retornados. Alguns campos podem estar ausentes ou imprecisos. Implemente tratamento de erros para dados de endereço incompletos ou inesperados em seus aplicativos HTML5 ou miniapps.
Exemplo
var params = {
// Whether to request a high-accuracy location.
enableHighAccuracy: true,
// Whether to include the reverse-geocoded address.
address: true
};
window.WindVane.call('WVLocation', 'getLocation', params, function(e) {
alert('success:' + JSON.stringify(e));
}, function(e) {
alert('failure:' + JSON.stringify(e));
});
Exemplo de resposta de sucesso:
{
"coords": {
"longitude": "120.126293",
"latitude": "30.274653",
"accuracy": "200"
},
"address": {
"city": "Hangzhou",
"province": "Zhejiang",
"area": "Xihu District",
"road": "Xueyuan Road",
"addressLine": "No.77 Xueyuan Road, Xihu District, Hangzhou",
"cityCode": "0571"
}
}
WVLocation.searchLocation
Esta API está disponível apenas no WindVane para iOS.
Converte uma string de endereço em coordenadas geográficas (latitude e longitude).
Parâmetros de entrada
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
|
Sim |
Endereço a ser resolvido. |
Resposta de sucesso
O callback recebe um objeto com os seguintes campos.
|
Campo |
Tipo |
Descrição |
|
|
|
Longitude do endereço resolvido. |
|
|
|
Latitude do endereço resolvido. |
Exemplo
var params = {
// The address to resolve.
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));
});