在onload里执行的代码调用腾讯地图api后获取的latitude和longitude,如何可以在组件渲染后显示出点坐标来
时间: 2024-03-18 16:39:08 浏览: 57
在组件渲染后显示腾讯地图的点坐标,可以通过以下步骤实现:
1. 在组件中定义一个状态变量,用于存储地图点坐标的经纬度信息,例如:
```javascript
const [center, setCenter] = useState({lat: 0, lng: 0});
```
2. 在组件的`onload`事件中调用腾讯地图API,获取地图点的经纬度信息,并将其更新到定义的状态变量中,例如:
```javascript
window.onload = function() {
// 调用腾讯地图API获取经纬度信息
const latitude = 39.9042;
const longitude = 116.4074;
// 将经纬度信息更新到状态变量中
setCenter({lat: latitude, lng: longitude});
}
```
3. 在组件的`render`方法中,使用腾讯地图API将地图渲染到页面上,并将之前获取的地图点的经纬度信息作为参数传递给地图组件,例如:
```javascript
return (
<div>
<Map center={center} />
</div>
);
```
这里的`Map`组件是一个自定义组件,用于渲染腾讯地图。
4. 在`Map`组件中,接收`center`作为props,将其作为参数调用腾讯地图的API,将地图点渲染到页面上,例如:
```javascript
const Map = ({ center }) => {
// 调用腾讯地图API将地图渲染到页面上
const map = new qq.maps.Map(document.getElementById("map"), {
center: new qq.maps.LatLng(center.lat, center.lng),
zoom: 13
});
// 在地图上添加地图点
new qq.maps.Marker({
position: new qq.maps.LatLng(center.lat, center.lng),
map: map
});
return <div id="map" style={{ width: "100%", height: "400px" }}></div>;
};
```
这里使用`center`作为地图点的经纬度信息,并在地图上添加了一个地图点。最终,页面上将会显示一个腾讯地图,并显示之前获取的经纬度所对应的地图点。
阅读全文