修改定位
parent
8606a02971
commit
0ca5070755
|
|
@ -87,7 +87,7 @@ export async function resolveTencentMapLocation() {
|
|||
return bestResult;
|
||||
}
|
||||
|
||||
throw browserError || sdkError || new Error("定位失败,请稍后重试。");
|
||||
throw new Error(buildLocationFailureMessage(browserError, sdkError));
|
||||
}
|
||||
|
||||
async function resolveWithTencentSdk() {
|
||||
|
|
@ -379,6 +379,26 @@ function getBrowserLocationErrorMessage(error?: GeolocationPositionError | null)
|
|||
}
|
||||
}
|
||||
|
||||
function buildLocationFailureMessage(browserError: Error | null, sdkError: Error | null) {
|
||||
const reasons: string[] = [];
|
||||
|
||||
if (!window.isSecureContext) {
|
||||
reasons.push("当前页面未被浏览器视为安全环境,请使用已信任的 HTTPS 地址打开。");
|
||||
}
|
||||
if (browserError) {
|
||||
reasons.push(`浏览器定位:${browserError.message}`);
|
||||
}
|
||||
if (sdkError) {
|
||||
reasons.push(`腾讯定位:${sdkError.message}`);
|
||||
}
|
||||
|
||||
if (!reasons.length) {
|
||||
return "定位失败,请稍后重试。";
|
||||
}
|
||||
|
||||
return reasons.join(";");
|
||||
}
|
||||
|
||||
export function wgs84ToGcj02(latitude: number, longitude: number) {
|
||||
if (isOutsideChina(latitude, longitude)) {
|
||||
return { latitude, longitude };
|
||||
|
|
|
|||
|
|
@ -354,7 +354,7 @@ export default function Work() {
|
|||
setCheckInError("");
|
||||
setRefreshingLocation(true);
|
||||
if (!window.isSecureContext && location.hostname !== "localhost" && location.hostname !== "127.0.0.1") {
|
||||
setLocationHint("当前地址不是 HTTPS,手机浏览器会拦截定位。请使用 HTTPS 地址打开。");
|
||||
setLocationHint("当前页面未被浏览器视为安全环境,常见原因是 HTTP 或证书未被手机信任。请使用已信任的 HTTPS 地址打开。");
|
||||
setRefreshingLocation(false);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue