`
feirou520
  • 浏览: 118687 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

google map 自定义矩形框

阅读更多

转自:http://www.playgoogle.com/post/3.html

/*Rectangle类,添加自定义的DIV图层 ====================================================================
*author Karry@derbysoft.com
*继承自GOverlay();
*矩形是在地图上勾勒经纬边界的简单叠加层,其边界已指定
*粗细和颜色,并(可选)可以使用半透明背景颜色.
*/
function Rectangle(point, opt_boldWeight, opt_color, opt_weigth, opt_height, opt_bgColor) {
    this.point_ = point;
    this.boldWeight_ = opt_boldWeight || 1;
    this.color_ = opt_color || "#888888";
    this.weight_ = opt_weigth || "50px";
    this.height_ = opt_height || "30px";
    this.bgColor_ = opt_bgColor || "#FFF";
}
Rectangle.prototype = new GOverlay();
// 创建表示此矩形的 DIV.
Rectangle.prototype.initialize = function(map) {
    // 创建表示我们的矩形的 DIV
    var div = document.createElement("div");
    div.style.border = this.boldWeight_ + "px solid " + this.color_;
    div.style.position = "absolute";
    div.style.background.style = "#FFF";
    div.style.width = this.weight_;
    div.style.height = this.height_;
    div.style.background = this.bgColor_;
      // 与地图信息窗口相同,在地图的最上方
    map.getPane(G_MAP_FLOAT_PANE).appendChild(div);
    $(div).html("<input type=\"button\" value=\"添加\" />")
    this.map_ = map;
    this.div_ = div;
}

//从地图面板删除 DIV
Rectangle.prototype.remove = function() {
    this.div_.parentNode.removeChild(this.div_);
}

// 将我们的数据复制到新的矩形
Rectangle.prototype.copy = function() {
    return new Rectangle(this.point_, this.boldWeight_, this.color_, this.weight_, this.height_, this.bgColor_);
}

// 基于当前投影和缩放级别重新绘制矩形
Rectangle.prototype.redraw = function(force) {
    // We only need to redraw if the coordinate system has changed
    if (!force) return;
      // 现在基于边界的 DIV 坐标放置 DIV
    this.div_.style.left = (this.point_.x - this.boldWeight_) + "px";
    this.div_.style.top = (this.point_.y - this.boldWeight_ - 20) + "px";
}
/*
*Rectangle类结束============================================================================
*/

 

使用方式:

 map.addOverlay(new Rectangle(new GPoint(31.22395859822874,121.47857666015625)));

分享到:
评论

相关推荐

    Google Map 中国 省市边界框选源代码

    在"GoogleMap"这个压缩包文件中,可能包含了实现这一功能的JavaScript源代码、样式文件以及可能的示例数据。源代码可能包括了上述的事件处理、边界计算、多边形创建和显示等功能模块。开发者可以通过阅读和学习这些...

    Googlemap 框选

    在IT领域,尤其是在地理信息系统(GIS)和网络地图服务中,"Google Map 框选"是一项常用的功能,它允许用户通过鼠标操作选取地图上的特定区域。这项功能在数据分析、定位服务、路线规划等场景中非常实用。接下来,...

    vue2googlemap基于Vue2x和google地图组件

    Vue2googlemap是一个专门为Vue 2.x框架设计的插件,它允许开发者在Vue应用中无缝集成Google Maps API。这个插件将Google Maps的强大功能与Vue的声明式渲染相结合,为开发者提供了更方便的方式来创建交互式的地图应用...

    googlemap谷歌地图标记拖动选择多选

    本篇将详细探讨"googlemap谷歌地图标记拖动选择多选"这一主题,以及如何利用Google Maps API实现这一功能。 首先,我们要理解"标记(Marker)"在谷歌地图中的概念。标记是Google Maps API中用于在地图上显示特定...

    谷歌MAP API_V3.pdf

    Map - **MapOptions**: 定义地图初始化时的配置选项,包括中心位置、缩放级别等。 - `center`: 地图的中心位置,用`LatLng`对象表示。 - `zoom`: 缩放级别。 - `mapTypeId`: 地图类型标识符,例如`'roadmap'`或`...

    figma-map-maker:Figma插件可生成地图,支持Google Maps和Mapbox,在Product Hunt中被列为当日第五大产品

    Map Maker可让您快速制作自定义地图。 用法 1.易于使用 选择任何层,包括“矩形”,“椭圆”或“多边形”,然后运行“地图制作器”。 2.完全可定制 谷歌地图 : 地址 地图类型(包括路线图,卫星图,混合图和地形图...

    google api 中文学习教程

    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); var marker = new google.maps.Marker({ position: map.getCenter(), map: map, title: 'Hello World!' }); } google...

    GeoServer学习——OpenLayers3加载KML地图实现框选

    关于框选功能,OpenLayers3提供了`ol.interaction.Draw`交互类,允许用户在地图上绘制矩形。首先,我们需要创建一个绘制交互实例,设置其类型为`'box'`以启用框选: ```javascript var draw = new ol.interaction....

    GoogleMapsJavascriptAPIV3Reference

    `InfoWindow`提供了弹出式信息框,展示与地理位置相关的信息,`InfoWindowOptions`则允许自定义其样式和行为。 ### Geocoding(地理编码) `Geocoder`服务用于将地址转换为经纬度坐标,反之亦然。`GeocoderRequest`...

    谷歌地图API说明打包版

    谷歌地图API是一个强大的工具,允许开发者在网页上嵌入交互式地图,并进行各种自定义操作。这个打包版的API说明提供了详细的文档,使得没有网络条件的开发者也能查阅和学习。以下是一些主要知识点的详细说明: 1. *...

    nb-picture-map-editor:AngularJS 图像映射编辑器

    1. **图像上传与处理**:编辑器允许用户上传自定义图片,并对其进行缩放、裁剪等基本操作,以便适应不同的展示需求。 2. **热点区域定义**:用户可以在图片上自由绘制不同形状(如矩形、圆形、多边形)的热点区域,...

    出现问题a is defined高手帮忙

    //实现框选放大缩小功能 function DragZoomControl(opts_boxStyle, opts_other, opts_callbacks) { this.globals = { draggingOn: false, cornerTopDiv: null, cornerRightDiv: null, ...

    Globalmapper13使用手册.pdf

    这个目录包含了自定义基准、椭球参数、点线区类型、标签样式、Web Coverage Service (WCS) 和 Web Map Service (WMS) 服务器信息以及用户自定义的数据源。在进行系统升级或备份时,确保备份这个目录下的所有文件,...

    BoxResizingMap:通过在地图上绘制框可调整大小的地图

    BoxResizingMap是一个基于JavaScript实现的地图交互功能,它允许用户通过在地图界面上绘制一个矩形框来动态调整地图的显示范围,从而实现对地图视图的自由缩放和移动。这种特性在需要精确控制地图展示区域或者进行...

    Globalmapper13使用手册.docx

    这个路径包含了各种自定义文件,如基准、椭球参数、点线区类型、标签类型、Web Coverage Service (WCS) 和 Web Map Service (WMS) 服务器信息以及用户自定义的数据源。备份这些文件可以确保用户配置和定制化信息的...

    用swing开发的地图导航和圆角Tooltip

    开发者可能需要集成第三方地图服务提供商,如Google Maps或高德地图API,通过它们提供的SDK或Web服务接口获取地图数据。在Swing应用中,可以使用JPanel或者JScrollPane作为容器,将地图图片或矢量数据加载到组件上,...

    leaflet中文文档

    - **boxZoom**:启用矩形框选缩放功能。 - **trackResize**:自动适应浏览器窗口大小变化。 #### 五、案例分析 假设我们要创建一个离线地图应用,用于监控公司的外勤人员。我们可以按照以下步骤进行: 1. **地图...

    leaflet_doc.zip

    2. **Leaflet库**: Leaflet是一个开源的地图库,它提供了一种简单、高性能的方式来在网页上展示地图,支持多种地图源,如OpenStreetMap、Google Maps等。它提供了丰富的API和插件,使得开发者能够轻松实现地图的各种...

    精通ANDROID 3(中文版)1/2

    17.1.1 从Google获取map-api密钥  17.1.2 MapView和MapActivity  17.1.3 使用覆盖图添加标记  17.2 位置包  17.2.1 使用Android进行地理编码  17.2.2 使用后台线程进行地理编码  17.2.3 ...

Global site tag (gtag.js) - Google Analytics