今天又看了下官网,发现官网上有地图标记的详细说明。当时居然眼瞎看不见,还琢磨了好久...#$%^&,一定是项目太急,没看到(^o^)/~
地址:https://developers.google.com...

添加标记

google.maps.Marker 的构造函数只需传入一个 MarkerOptions 对象字面量,用于指定标记的初始属性。

以下字段特别重要,并且在构建标记时通常会进行设置:

  • position(必填)指定用于标识标记的初始位置的 LatLng。 map(可选)指定用来放置标记的

  • Map。如果您在构建标记时未指定地图,则标记会被创建,但不会附加到(或显示在)地图上。您以后可以通过调用标记的 setMap() 方法来添加标记。

以下示例将一个简单的标记添加到乌鲁鲁(位于澳大利亚的中心)的地图上:

var map = new google.maps.Map(document.getElementById('map'), {

zoom: 4,

center: myLatLng

});

var marker = new google.maps.Marker({

position: myLatLng,

map: map,

});

}" title="" data-original-title="复制">


function initMap() {

var myLatLng = {lat: -25.363, lng: 131.044}; var map = new google.maps.Map(document.getElementById('map'), {

zoom: 4,

center: myLatLng

}); var marker = new google.maps.Marker({

position: myLatLng,

map: map,

});

}

在以上示例中,在构建标记时使用了 MarkerOptions 中的 map 属性将该标记放置在地图上。或者,您也可以直接使用标记的 setMap() 方法将该标记添加到地图上,如以下示例中所示:

var marker = new google.maps.Marker({

position: myLatlng,

});

// To add the marker to the map, call setMap();

marker.setMap(map);

" title="" data-original-title="复制">


var myLatlng = new google.maps.LatLng(-25.363882,131.044922);

var mapOptions = {

zoom: 4,

center: myLatlng

}

var map = new google.maps.Map(document.getElementById("map"), mapOptions); var marker = new google.maps.Marker({

position: myLatlng,

}); // To add the marker to the map, call setMap();

marker.setMap(map);

移除标记

要从地图上移除标记,请调用 setMap() 方法并传递 null 作为自变量。

marker.setMap(null);

请注意,上述方法并不会删除该标记。它只是将该标记从地图上移除。如果您是想删除该标记,则应该从地图上移除它,然后将该标记本身设置为 null

如果您希望管理一组标记,则应该创建一个数组来保存这些标记。使用此数组,您就可以依次对数组中的每个标记调用 setMap() 来移除这些标记。您也可以删除这些标记,只需先将其从地图上移除,然后将数组的 length 设置为 0,这将移除这些标记的所有引用。

查看示例 (marker-remove.html)

也可以参考上一篇文章,谷歌地图API 开发 之 添加标记 其实跟官网的基本原理也是一样的。

以动画方式呈现标记

您可以通过动画的方式呈现标记,以便它们能够在各种不同的情况下展现出动态移动的效果。要指定某个标记的动画呈现方式,请使用该标记的 animation 属性,其类型为 google.maps.Animation。可支持以下 Animation 值:

  • DROP 表示第一次将该标记放置在地图上时,该标记应该从地图顶部下落到其最终位置。一旦标记停止移动,动画即停止,并且 animation 将还原为 null。在创建 Marker 时,通常会指定这种类型的动画。

  • BOUNCE 表示该标记应该在原地弹跳。弹跳标记将持续弹跳,直到其 animation 属性显式设置为 null

您可以通过对 Marker 对象调用 setAnimation() 来对现有标记启动动画。

function initMap() {

var map = new google.maps.Map(document.getElementById('map'), {

zoom: 13,

center: {lat: 59.325, lng: 18.070}

});

marker = new google.maps.Marker({

map: map,

draggable: true, //marker 设为 可拖动

animation: google.maps.Animation.DROP, //动画属性设为DROP

position: {lat: 59.327, lng: 18.067}

});

marker.addListener('click', toggleBounce); //监听marker点击时执行togglerBounce方法切换动画属性

}

function toggleBounce() {

if (marker.getAnimation() !== null) {

marker.setAnimation(null);

} else {

marker.setAnimation(google.maps.Animation.BOUNCE);

}

}" title="" data-original-title="复制">


var marker;

function initMap() {

var map = new google.maps.Map(document.getElementById('map'), {

zoom: 13,

center: {lat: 59.325, lng: 18.070}

}); marker = new google.maps.Marker({

map: map,

draggable: true, //marker 设为 可拖动

animation: google.maps.Animation.DROP, //动画属性设为DROP

position: {lat: 59.327, lng: 18.067}

});

marker.addListener('click', toggleBounce); //监听marker点击时执行togglerBounce方法切换动画属性

} function toggleBounce() {

if (marker.getAnimation() !== null) {

marker.setAnimation(null);

} else {

marker.setAnimation(google.maps.Animation.BOUNCE);

}

}

查看示例 (marker-animations.html)

标记的图标

在最基本的情况下,图标可以简单地表示一个要代替默认的 Google Maps 图钉图标的图像。要指定这样的图标,请将标记的 icon 属性设置为某个图像的 URL。Google Maps API 将自动调整图标大小。

var image = 'images/beachflag.png';

var beachMarker = new google.maps.Marker({

position: {lat: -33.890, lng: 151.274},

map: map,

icon: image //图标

});

}" title="" data-original-title="复制">


function initMap() {

var map = new google.maps.Map(document.getElementById('map'), {

zoom: 4,

center: {lat: -33, lng: 151}

}); var image = 'images/beachflag.png';

var beachMarker = new google.maps.Marker({

position: {lat: -33.890, lng: 151.274},

map: map,

icon: image //图标

});

}

查看示例 (icon-simple.html)

好了,谷歌添加标记的就整理这么多,想深入研究的小伙伴可以第一行的官网查看下。
然后要开始今天的重要内容 如何获取当前点击的坐标以及城市街道地址,写到下一篇。

谷歌地图 API 开发之添加标记(解析以及补充)的更多相关文章

  1. 谷歌地图 API 开发之获取坐标以及街道详情

    自己的项目中有获取当前点击的坐标经纬度或者获取当前街道的信息的需求.估计这个对于新手来说,还是比较麻烦的,因为从官网上找这个也并不是很好找,要找好久的,运气好的可能会一下子找到. 献上自己写的测试案例 ...

  2. 谷歌地图 API 开发之信息窗口

    信息窗口 简介 InfoWindow 在地图上方给定位置的弹出窗口中显示内容(通常为文本或图像).信息窗口具有一个内容区域和一个锥形柄.柄顶部与地图上的某指定位置相连. 通常,您会将信息窗口附加到标记 ...

  3. 谷歌地图api 开发 (转载)

    https://www.cnblogs.com/520lin/p/5800024.html

  4. 基于MFC与第三方类CWebPage的百度地图API开发范例

    在进行百度地图API开发之前你需要到http://developer.baidu.com/map申请密匙 密匙申请之后就可以进行百度地图API的开发了. 下面我们以在visual c++6.0里进行地 ...

  5. js基于谷歌地图API绘制可编辑圆形与多边形

    之前的工作中需要在谷歌地图上绘制可编辑多边形区域,所以基于谷歌地图API封装了个html页面,通过调用js绘制多边形并返回各点的经纬度坐标:当然首先你要保证你的电脑可以打开谷歌地图... 新建一个ht ...

  6. 深入浅出百度地图API开发系列(1):前言

    百度地图API目前在地图API领域越来越受到众多开发者的关注,许多应用都使用到了百度地图API服务,包括博主me,我自己使用做的是Javascript API,根据经验,我想整理出一份系列教程,如果能 ...

  7. 深入浅出百度地图API开发系列(2):创建地图

    上一篇文章里,先介绍了一下百度地图API开发所涉及到的一些基础概念,包括投影,坐标系等基础概念,再有了这些基础后,我们可以开始开发自己的web地图了.先来个代码示例(建议大家都是用百度地图API大众版 ...

  8. 利用Dnspod api批量更新添加DNS解析【python脚本】 - 推酷

    利用Dnspod api批量更新添加DNS解析[python脚本] - 推酷 undefined

  9. 百度地图API开发指南

    简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富.交互性强的地图应用.百度地图API包含了构建地图基本功能的各种接口,提供 ...

随机推荐

  1. SpringMVC相关的面试题

    1.什么是springMVC springmvc是spirng框架的一个模块,是一个基于MVC框架的web框架 2.springmvc的流程 a.客户端发送请求 b.前端控制器DispatcherSe ...

  2. 404 Note Found· 第七次作业 - 需求分析报告

    目录 组队后的团队项目的整体计划安排 项目logo及思维导图 项目logo 思维导图 产品思维导图 产品思维导图-引导 产品思维导图-后端数据处理.存储 产品思维导图-短信识别 产品思维导图-智能分析 ...

  3. 【IdentityServer4文档】- 使用密码保护 API

    使用密码保护 API OAuth 2.0 协议允许资源拥有者给客户端密码授权:客户端向令牌服务发送用户密码,以获取代表该用户的访问令牌. 该规范建议仅将“资源所有者密码授予”用于“可信”(或旧版)应用 ...

  4. HDU 5203 Rikka with wood sticks 分类讨论

    题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5203 bc(chinese):http://bestcoder.hdu.edu.cn/con ...

  5. java的reflection

    Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性.例如,使用它能获得 Java 类中 ...

  6. 将java开发的wordcount程序提交到spark集群上运行

    今天来分享下将java开发的wordcount程序提交到spark集群上运行的步骤. 第一个步骤之前,先上传文本文件,spark.txt,然用命令hadoop fs -put spark.txt /s ...

  7. 关于解决java读取excel文件遇空行抛空指针的问题 !

    关于解决java读取excel文件遇空行抛空指针的问题 ! package exceRead; import java.io.File; import java.io.FileInputStream; ...

  8. 在dbgrid中如何多行选中记录(ctl与shift均可用)

    在dbgrid中如何多行选中记录(ctl与shift均可用),设置dbgrid的dgmultiselect为true,只有ctl好用而shift不好用,如何使shift也好用 Dbgrid源代码:pr ...

  9. jenkins配置slave节点 构建项目并执行操作

    1.新建与配置结点 [系统管理]-> [管理结点]-> [新建结点] 2.配置slave 说明: Name: 定义slave的唯一名称标识,可以是任意字符串,通常设置为slave主机名.i ...

  10. 第196天:js---调用函数的五种方式

    一.普通方式 /*普通模式*/ // 声明一个函数,并调用 function func() { console.log("Hello World"); } func(); 二.函数 ...