百度地图BMap无法添加文字标注(textmarker)

刚学java script,需要做一个将百度地图嵌入到WIinform中的东西,做地图的时候遇到了个问题,就是没办法在地图上加文字标注(像百度地图一样,点一下地图出来个文本标记),折腾了好久,终于找到原因:

正确的写法是

   function addTextMarker(_point) {
            var label = new BMap.Label("我的标记", { point: new BMap.Point(_point.lat, _point.lng), offset: new BMap.Size(3, -6) });
            map.addOverlay(label);
            label.setStyle({ borderColor: "#999" });
        }

不能写成一下两种形式

            var label = new BMap.Label("我的标记", {point: _point, offset: new BMap.Size(3, -6) });
或者是直接从e中取坐标

 var label = new BMap.Label("我的标记", { point: new BMap.Point(e.point.lat, e.point.lng), offset: new BMap.Size(3, -6) });

就point部分的区别,没学过js所以不清楚原因,先不管了,先做着吧


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用UniGUI调用百度地图添加标注并变更标注图标,可以按照以下步骤进行: 1. 首先,确保已经在UniGUI项目中添加了TUniWebBrowser组件,该组件可以用来加载百度地图。 2. 在UniGUI的项目代码中,找到需要加载百度地图的位置,并在相应的事件或方法中执行以下代码: ```delphi UniWebBrowser1.ViewContent := '<html>' + '<head><script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=your_ak"></script></head>' + '<body>' + '<div id="map" style="width:100%; height:100%;"></div>' + '<script type="text/javascript">' + 'var map = new BMap.Map("map");' + 'var point = new BMap.Point(116.404, 39.915);' + 'map.centerAndZoom(point, 15);' + 'var marker = new BMap.Marker(point);' + 'map.addOverlay(marker);' + '</script>' + '</body></html>'; ``` 这段代码中,`your_ak`需要替换为自己申请的百度地图AK。 3. 上述代码中,`BMap.Point(116.404, 39.915)`表示标注的经纬度坐标,可以根据需要进行修改。 4. 如果需要更改标注图标,可以在`BMap.Marker(point)`之后添加以下代码,将默认图标替换为自定义图标: ```delphi 'var myIcon = new BMap.Icon("custom_icon_url", new BMap.Size(30, 30));' + 'marker.setIcon(myIcon);' ``` 其中`custom_icon_url`需要替换为你自定义图标的地址。 5. 最后,注意在UniGUI程序中设置相应的权限,确保百度地图可以正常加载和使用。 以上就是使用UniGUI调用百度地图添加标注并变更标注图标的简要步骤。希望能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值