腾讯地图marker中大小的控制和事件绑定。

Posted webh5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯地图marker中大小的控制和事件绑定。相关的知识,希望对你有一定的参考价值。

腾讯地图SDK地址:    点击进入

技术图片

 

 

 在示例中 My location中需要加入按钮并绑定事件。

var container = document.getElementById("container");
var center = new TMap.LatLng(39.984104,116.307503);//设置中心点坐标
//初始化地图
var map = new TMap.Map(container, {
    center: center
});
 
//初始marker
var marker = new TMap.MultiMarker({
    id: ‘marker-layer‘,
    map: map,
    styles: {
        "marker": new TMap.MarkerStyle({
            "width": 23,
            "height": 35,
            "anchor": { x: 12, y: 32 },
            "src": ‘../img/marker.png‘
        })
    },
    geometries: [{
        "id": ‘demo1‘,
        "styleId": ‘marker‘,
        "position": new TMap.LatLng(39.984104,116.307503),
        "properties": {
            "title": "marker"
        }
    }, {
        "id": ‘demo2‘,
        "styleId": ‘marker‘,
        "position": new TMap.LatLng(39.974104,116.347503),
        "properties": {
            "title": "marker"
        },
 
    }]
});
//初始化infoWindow
var infoWindow = new TMap.InfoWindow({
    map: map,
    position: new TMap.LatLng(39.984104,116.307503),
    offset: { x: 0, y: -32 } //设置信息窗相对position偏移像素,为了使其显示在Marker的上方
});
infoWindow.close();//初始关闭信息窗关闭
//监听标注点击事件
marker.on("click", function (evt) {
    //设置infoWindow
    infoWindow.open(); //打开信息窗
    infoWindow.setPosition(evt.geometry.position);//设置信息窗位置
    infoWindow.setContent(evt.geometry.position.toString());//设置信息窗内容
 
})

 

PS:

1. 在marker.on的方法中直接为信息窗口添加事件会导致添加不上,需要加入500ms的演示定时器才能为信息窗体中的按钮绑定事件。

2.在setContent中插入元素时需要为所有的子元素添加一个父级的DIV,如果没有父级元素包裹会导致信息框内容撑不开窗体,导致内容显示失败。

 

以上是关于腾讯地图marker中大小的控制和事件绑定。的主要内容,如果未能解决你的问题,请参考以下文章

高德地图事件与插件绑定

android 百度地图上marker点移动要怎么处理

请教各位关于百度地图api标注点marker的click事件问题

vue 腾讯地图webServiceAPI 和 javaScriptAPI GL 的基本使用

求指导请问 百度地图的Marker 有mouseover mousemove这些事件吗

h5唤起地图导航