var state = { // 1:click—map 2:select-map input_state: 1, list_state: 1 } window.onload = function load() { document.getElementById("searchDiv").innerHTML = ""; document.getElementById("resultDiv").style.display = "none"; const init = new Promise((resolve, reject) => { if(T) { console.log('地图初始化成功') resolve(T) reject('error') } }) init.then(T => { map = new T.Map('map'); center = new T.LngLat(113.214781,23.406641); map.centerAndZoom(center, 15); 请修改为 获取当前位置并设置为地图中心点后的代码
时间: 2024-02-10 09:08:18 浏览: 75
好的,以下是修改后的代码:
```javascript
var state = {
input_state: 1,
list_state: 1
};
window.onload = function load() {
document.getElementById("searchDiv").innerHTML = "";
document.getElementById("resultDiv").style.display = "none";
const init = new Promise((resolve, reject) => {
if (T) {
console.log('地图初始化成功');
resolve(T);
} else {
reject('地图初始化失败');
}
});
init.then(T => {
// 获取当前位置
navigator.geolocation.getCurrentPosition(position => {
const lat = position.coords.latitude;
const lng = position.coords.longitude;
// 设置地图中心点
const center = new T.LngLat(lng, lat);
const map = new T.Map('map');
map.centerAndZoom(center, 15);
console.log('地图初始化成功');
}).catch(error => {
console.log('获取位置信息失败', error);
});
}).catch(error => {
console.log('地图初始化失败', error);
});
};
```
这段代码使用了 Promise 和 `navigator.geolocation` 接口获取当前位置的经度和纬度,然后使用 Tencent Maps JavaScript API 设置地图的中心点。如果获取位置信息失败或地图初始化失败,会在控制台打印相应的错误信息。
阅读全文