Lấy thông tin vị trí

Trong một số trường hợp, Mini App sẽ cần phải lấy vị trí của người dùng sử dụng Hosted App. Tbox Mini App có cung cấp các API để giải quyết vấn đề này.

Một luồng thông thường sẽ bao gồm các bước

  • Người dùng đi vào Mini App, chọn một chức năng yêu cầu vị trí
  • Mini App gọi vào Hosted App, để lấy thông tin vị trí
  • Hosted App sẽ xin người dùng quyền truy cập vị trí
  • Nếu người dùng cho phép, Hosted App sẽ trả về thông tin vị trí cho người dùng

Tbox Mini App cung cấp API getLocation để phục vụ cho luồng này.

async function getLocation(): Location

Hàm getLocation là một hàm async trả về kiểu dữ liệu Location. Location là một object có chứa các key

tên trườngkiểu dữ liệuý nghĩa
latfloatlatitude của người dùng
lngfloatlongitude của người dùng

Ví dụ

Hãy cùng xem xét ứng dụng Quản Lý Sự Kiện, ứng dụng này cung cấp một Widget để hiển thị ra danh sách các Sự Kiện Hot trong cùng thành phố với người dùng

image

Nhà Phát Triển có thể sử dụng API getLocation như sau

import React, { useState, useEffect } from "react";
import tbox from "tbox";
import { Button } from "tbox/ui";
function ListHotEvents(eventId) {
const [items, setItems] = useState([]);
useEffect(async () => {
const location = await tbox.getLocation();
if (location) {
const { lat, lng } = location;
const cityId = await api.getCityByLocation(lat, lng);
const items = await api.getHotEventsByCity(cityId);
setItems(item);
}
});
return (
<Container>
{items.map((item) => (
<ItemDetail item={item} />
))}
</Container>
);
}
Last updated on by Kien Nguyen