首页 > 代码库 > [Baidu Map]MarkerManager扩展

[Baidu Map]MarkerManager扩展

关键代码:

/// <reference path="MarkerManager.js" />BMapLib.MarkerManager.prototype.count = function () {    /// <summary>    /// 获取MarkerManager管理标记数量    /// </summary>    /// <returns type="">管理标记数量</returns>    return this._numMarkers.length;}BMapLib.MarkerManager.prototype.find = function (properties, value) {    /// <summary>    ///查找标记     /// </summary>    /// <param name="properties">键</param>    /// <param name="value">值</param>    /// <returns type="BMap.Marker">若没查找到,则返回NULL</returns>    for (var i = 0; i < this._numMarkers.length; i++) {        var marker = this._numMarkers[i];        if (marker[properties] == value)            return marker;    }}BMapLib.MarkerManager.prototype.findAllInBounds = function (properties, value) {    /// <summary>    /// 查找符合条件的可视范围内标记    /// </summary>    /// <param name="properties">键</param>    /// <param name="value">值</param>    /// <returns type="Array">符合条件的数组</returns>    var bounds = this._map.getBounds();    var finded = new Array;    for (var i = 0; i < this._numMarkers.length; i++) {        var marker = this._numMarkers[i];        if (bounds.containsPoint(marker.getPosition())) {            if (marker[properties] == value) {                finded.push(marker);            }        }    }    return finded;}BMapLib.MarkerManager.prototype.findVisualMarkers = function () {    /// <summary>    /// 查找可视范围内标记    /// </summary>    /// <returns type="Array">可视范围内标记数组</returns>    var bounds = this._map.getBounds();    var finded = new Array;    for (var i = 0; i < this._numMarkers.length; i++) {        var marker = this._numMarkers[i];        if (bounds.containsPoint(marker.getPosition())) {            finded.push(marker);        }    }    return finded;}
<style type="text/css">.csharpcode, .csharpcode pre{ font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em;}.csharpcode .lnum { color: #606060; }</style>

注:基于Baidu Map API 1.2

希望有所帮助,谢谢!

[Baidu Map]MarkerManager扩展