Huawei Bandを入手してみたので、HuaweiのAPIを試してみたく...... 調べていましたがHealth系のデータ以外にも色々ありそう、、だったのでSite Kitというものを使ってみました。
事前準備など
スクショがないですが、個人情報入れたりしながら申請して、翌日くらいに許可がおりました。
35.7642868,139.8043692
ヘルスケアIoTLTの会場にもなる足立慶友整形外科のスポットをGoogleで調べると35.7642868,139.8043692
という座標がでました。
URLにある@35.7642868,139.8043692,21z
の部分が緯度経度のようですね。
Node.jsで触る
サンプルリクエストからコードを作ってみましたが、割とすんなり動きました。
const APIKEY = `APIキー`
async function postRequest() {
const url = `https://siteapi.cloud.huawei.com/mapApi/v1/siteService/reverseGeocode?key=${APIKEY}`;
const body = {
location: {
lat: 35.7642868, //緯度
lng: 139.8043692 //経度
},
language: "en",
radius: 10
};
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(body)
});
if (!response.ok) {
throw new Error(`Error: ${response.status}`);
}
const data = await response.json();
console.log(data);
} catch (error) {
console.error('There was an error!', error);
}
}
postRequest();
緯度経度から住所情報に変換ができました。
Googleの情報とかを裏で取ってきているのでしょうか 割と細かく住所が取れてて驚きです。
まとめと所感など
HuaweiのAPI、触ってる人が少なすぎて開拓してる感じがすごいです。
他のAPIもあるけどなかなか解読に苦戦してます。
つまづいたところ
公式サンプルリクエストがlat,lng(緯度経度)の順番ではなく、lng,lat(経度緯度)の順番になってるのに気づかず逆に設定してたらエラーがでてましたね。。