社区首页 >问答首页 >谷歌地图标记图标(符号)不旋转

谷歌地图标记图标(符号)不旋转
EN

Stack Overflow用户
提问于 2017-07-05 00:36:45
回答 2查看 6.5K关注 0票数 1

昨天我发了一个问题,这个问题是通过排版更正解决的,但现在我遇到了一个令我困惑的问题。

我在地图上有一个自定义标记,使用一个符号作为图标,这样我就可以旋转它。当我初始化它时,我将旋转设置为0,并在某个时候调用updateMap()函数,这将为标记提供一个新的旋转值。的确如此,我可以通过在控制台中打印标记和图标来看到旋转发生了变化,但是标记仍然坚定地指向了北方。

下面是我初始化和旋转标记的代码:

代码语言:javascript
代码运行次数:0
复制
var map;
var marker;

function initMap(position) {
    var map_div = document.getElementById("map");
    map = new google.maps.Map(map_div, {
        zoom: 14,
        center: { lat: position.Latitude, lng: position.Longitude },
        mapTypeId: 'terrain'
    });
    marker = new google.maps.Marker({
        position: map.getCenter(),
        map: map,
        title: "MY MARKER",
        icon: {
            path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
            scale: 4,
            strokeColor: '#00F',
            rotation: 0,
        }
    });
}

function updateMap() {
    var bearing = 135;
    console.log(bearing);
    marker.icon.rotation = bearing;
    console.log(marker);
}

控制台告诉我,标记的旋转已经改变了,但是标记本身并没有改变方向。

我尝试过的事物:

  • 在update映射函数末尾触发resize事件
  • 未指定图标的原始旋转
  • 切换旋转,因此从135开始并试图更改为0(调用marker.icon.rotation后标记在updateMap()处的旋转值变为0,但实际标记始终指向135)
  • 改变initMap()函数末尾的旋转--这确实有效,这使我相信updateMap()函数有一些不正确的地方。我不知道是什么,它仍然执行这个函数。在全局范围内记录标记还会告诉我旋转发生了变化。

欢迎任何想法或建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-05 05:17:50

icon对象没有文档化的google.maps.Marker属性(虽然它可能“工作”,但不建议使用无文档的属性)。使用文档化的setter和getter获取值,然后更改它,然后再次设置它:

代码语言:javascript
代码运行次数:0
复制
function updateMap() {
    var bearing = 135;
    console.log(bearing);
    var icon = marker.getIcon();
    icon.rotation = bearing;
    marker.setIcon(icon);
    console.log(marker);
}

概念小提琴的证明

代码片段:

代码语言:javascript
代码运行次数:0
复制
var map;
var marker;

function initMap(position) {
  var map_div = document.getElementById("map");
  map = new google.maps.Map(map_div, {
    zoom: 14,
    center: {
      lat: position.Latitude,
      lng: position.Longitude
    },
    mapTypeId: 'terrain'
  });
  marker = new google.maps.Marker({
    position: map.getCenter(),
    map: map,
    title: "MY MARKER",
    icon: {
      path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
      scale: 4,
      strokeColor: '#00F',
      rotation: 0,
    }
  });
}

function updateMap(bearing) {
  var icon = marker.getIcon();
  icon.rotation = bearing;
  marker.setIcon(icon);
}

function initialize() {
  initMap({
    Latitude: 37.4419,
    Longitude: -122.1419
  });
}
google.maps.event.addDomListener(window, "load", initialize);
代码语言:javascript
代码运行次数:0
复制
html,
body,
#map {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
代码语言:javascript
代码运行次数:0
复制
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<input type="button" value="rotate" onclick="updateMap(parseInt(document.getElementById('rotation').value));" /><input id="rotation" value="135" />
<div id="map"></div>

票数 4
EN

Stack Overflow用户

发布于 2017-07-05 01:31:58

您只需将updateMap函数更改为:

代码语言:javascript
代码运行次数:0
复制
function updateMap() {
  var bearing = 135;
  console.log(marker.icon);
  marker.icon.rotation = bearing;
  marker.setMap(map);
  console.log(marker.icon);
}

在更新选项后,marker.setMap(map);重新添加到地图中。

JSFiddlehttps://jsfiddle.net/q3wjrpdw/8/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44921022

复制
相关文章
android 高德地图标记,android学习之高德地图添加标记
draggable 如果您允许用户可以自由移动标记,设置为“ true ”。默认情况下为“ false ”。
全栈程序员站长
2022/08/31
1.7K0
高德地图标记点要注意的问题
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143607.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/26
8670
高德地图标记点要注意的问题
地理信息地图标记KML与KMZ的区别
地理信息地图标记KML与KMZ的区别 KML (keyhole markup language)是以XML语言为基础开发的一种文件格式,用来描述和存储地理信息数据(点、线、面、图片等),是纯粹的xml文本格式,可用记事本打开编辑,所以kml文件很小。KML跟XML文件最大的不同就是KML描述的是地理信息数据。最早开发KML的是keyhole公司,2004年Goole收购keyhole并用KML开发GooleEarth. KML是原先的Keyhole客户端进行读写的文件格式,是一种XML描述语言,并且是文本格
学到老
2018/03/19
4.6K0
地理信息地图标记KML与KMZ的区别
KML (keyhole markup language)是以XML语言为基础开发的一种文件格式,用来描述和存储地理信息数据(点、线、面、图片等),是纯粹的xml文本格式,可用记事本打开编辑,所以kml文件很小。KML跟XML文件最大的不同就是KML描述的是地理信息数据。最早开发KML的是keyhole公司,2004年Goole收购keyhole并用KML开发GooleEarth.
学到老
2019/02/14
2.2K0
Zabbix6.0新功能Geomap 地图标记 你会用吗?
解释:<31.230416>为地区纬度(可以根据实际情况填写) ,<121.473701>为地区的经度(可以根据实际情况填写) ,<11> 为地图缩放比例(其中每个不同的地图源所支持的缩放等级是不同,具体需要到前端设置里查看General->Geograhpical maps)
Zabbix
2022/06/14
1.9K0
Zabbix6.0新功能Geomap 地图标记 你会用吗?
App之应用图标标记
以下为正文: 1、概念 应用图标标记,称为Badge App Icon。 Badge,徽章,具象来说, 就是佩带在身上用来表示身份、职业的标志。 它有着悠久的历史,起源最早可以追溯到原始社会氏族部落的
mixlab
2018/04/16
3.1K0
App之应用图标标记
iconfont矢量图标旋转晃动
首先我参考百度上的一些说法尝试了设置旋转中心点(transform-origin)、设置定位(position)、浮动(float)、以及使用translateZ(0)进行旋转渲染。 结果发现并没有什么效果。
colezhou
2019/11/24
5.1K1
高德地图自定义点标记大小_高德地图标注点点击事件 自定义参数
if (!provinces || provinces.length == 0) {
全栈程序员站长
2022/08/25
7750
谷歌离线地图开发_谷歌实时在线街景地图
离线地图开发主要有两部分组成:1、获取离线地图数据;因为离线地图一般都是局域网,所以需要离线地图数据放在内网中使用;2、离线地图服务器搭建以及二次开发接口提供,离线地图是一种服务,就像我们Apache提供的WEB服务器一样,他是一种准们的地图服务:提供了包括 WEB服务、TMS服务、WMTS服务等等。
全栈程序员站长
2022/11/08
1.7K0
谷歌离线地图开发_谷歌实时在线街景地图
高德地图——标记「建议收藏」
标记显示地图上的单一位置。它可以使用一个标准的图标,也可以由开发 者自定义图标。您可以通过 AMap.addMarker(MarkerOptions Options) 方 法将一个标记添加到地图上。 MarkerOptions属性有: • position(Required) 在地图上标记位置的经纬度值。 参数不能为空。 • title 当用户点击标记,在信息窗口上显示的字符串(测试发现,点击没有任何效果)。 • snippet 附加文本,显示在标题下方(测试发现,点击没有任何效果)。 • draggable 如果您允许用户可以自由移动标记,设置为“true ” ,默认情况下为“false ” 。 • visible 设置“false ” ,标记不可见。 • anchor图标摆放在地图上的基准点。 • perspective设置 true,标记有近大远小效果。 • 可以通过Marker.setRotateAngle() 方法设置标记的 旋转角度,从正北开始,逆时针计算。
全栈程序员站长
2022/08/31
2.5K0
高德地图——标记「建议收藏」
echarts中国地图如何标记散点图[通俗易懂]
工作中会遇到echarts在地图上面标记点位,后端数据传给城市名和坐标轴给你以后,如何添加到echarts上面渲染呢 echarts需要的数据 例子
全栈程序员站长
2022/11/10
3K0
echarts中国地图如何标记散点图[通俗易懂]
Latex(katex)csdn 希腊字母表示,数学符号,集合符号,特殊标记
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126797.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/23
9050
Latex(katex)csdn 希腊字母表示,数学符号,集合符号,特殊标记
火山图标记基因_火山地形图
现在很多文章开始出现这样的一种情况,在绘制火山图中,显示我们所关注的基因,那么如何去显示呢?很多人可能会这么做,在绘制普通的火山图之后,使用AI对图进行修改,添加部分基因,但是现在我要介绍的是如何用R绘制 library(ggpubr) library(ggthemes) data <- read.csv(“easy_input_limma.csv”, head=T,sep=’,’) #绘制基本热图 data l o g p &lt; − − l o g 10 ( d a t a logp &lt;- -log10(data logp<−−log10(dataadj.P.Val) ggscatter(data,x=“logFC”,y=“logp”)+theme_base()
全栈程序员站长
2022/11/01
7130
小程序地图插入图标后 怎么实现点击图标弹出窗口
<view class="detail-card-body1" hoverClass="hover"
算法与编程之美
2023/01/03
1.7K0
小程序地图插入图标后 怎么实现点击图标弹出窗口
7b2美化-导航菜单添加官方图标+图标旋转代码
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
小狐狸说事
2022/11/17
1.2K0
7b2美化-导航菜单添加官方图标+图标旋转代码
谷歌地图地理解析
地址解析就是将地址(如:贵州省贵阳市)转换为地理坐标(如经度:106.71,纬度:26.57)的过程。
全栈程序员站长
2022/09/07
1.5K0
转:谷歌离线地图基础[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/05
1.2K0
利用python和百度地图API实现数据地图标注
地址:http://developer.baidu.com/map/jsdemo.htm#c1_19
IT派
2018/07/30
4.8K0
利用python和百度地图API实现数据地图标注
QGIS 3.10 路径分析
网络数据集(networks )的创建、管理和可视化是GIS的重要组成部分。公路、铁路、管线等公用基础设施都可以建模为由线和节点组成的带有属性信息的网络数据。本教程将学习如何对路网进行建模,如何运用样式对路网属性可视化,同时通过QGIS 3.10内置的路径分析工具找出两点之间的最短路径。
全栈程序员站长
2022/09/23
2.8K0
QGIS 3.10 路径分析
谷歌地图与 NestedScrollView 滑动冲突
一会儿,要翻墙;一会儿,网络不稳定,白屏了;一会儿,某些设备不支持 GMS 服务了。
贺biubiu
2019/03/19
1.3K0
谷歌地图与 NestedScrollView 滑动冲突

相似问题

地图旋转时谷歌地图标记旋转不改变

210

在谷歌地图中旋转标记/汽车图标- Android

43

谷歌地图标记

12

谷歌地图标记

11

谷歌地图标记图标消失

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文