You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BlazorGoogleMaps组件拖动地图后无法获取中心LatLng

在BlazorGoogleMaps中获取地图拖动后的中心坐标

你可以通过调用Google Maps原生API的getCenter()方法来获取地图拖动后的中心坐标,具体实现如下:

  1. 确保组件中已正确引用地图实例:
<Map @ref="map1" Options="@mapOptions" ...></Map>
  1. 保留你已实现的OnAfterInitAsync方法绑定dragend事件:
private async Task OnAfterInitAsync()
{
    await map1.InteropObject.AddListener("dragend", OnDragEnd);
}
  1. 实现OnDragEnd方法,通过InteropObject调用原生getCenter方法获取坐标:
private async Task OnDragEnd()
{
    // 调用Google Maps原生方法获取当前地图中心
    var centerLatLng = await map1.InteropObject.InvokeAsync<LatLng>("getCenter");
    
    // 使用获取到的坐标
    var latitude = centerLatLng.Lat;
    var longitude = centerLatLng.Lng;
    // 这里可以添加你的业务逻辑,比如更新显示、发送请求等
}

说明

  • InteropObject是组件对Google Maps原生Map对象的封装,允许你直接调用Google Maps JavaScript API中的方法。
  • getCenter()是Google Maps Map对象的原生方法,会返回当前地图的中心坐标,通过InvokeAsync<LatLng>可以将JS端的坐标对象映射为组件提供的LatLng类型。
  • 确保代码中已引入命名空间:using BlazorGoogleMaps;

内容的提问来源于stack exchange,提问作者dnky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 04:00:03