我怎样才能在谷歌地图的标记信息窗口上添加一个按钮?
我已将iOS的Google Maps SDK添加到我的iPhone应用程序中,如果单击Info窗口弹出标题,我将有一些自定义标记,我该如何在此信息窗口中添加一个按钮,因此,如果按下,请访问新页面?现在,我尝试使用此帖子解决此问题在Google Maps SDK中的InfowIndow/Marker上添加单击事件,用于本机iOS/Objective C 它不给我错误,但行不通. 这是我希望我的结果是: 解决方案 您链接的问题的答案显示了使用MAPKIT的代码,因此它与iOS的Google Maps SDK无法使用. 请参阅此问题,以了解如何使用Google Maps SDK返回iOS的自定义视图: Google Maps SDK中的自定义注释sdk 但是,请注意,根据这个问题,显示出显示的内容可能是视图的视觉副本,而不是实际视图,这可能会限制您可以与视图进行的交互: 添加按钮返回的视图,以返回的视图.一个> 只需在信息窗口上检测一下点击即可使用didT
8 2024-04-05
编程技术问答社区
如何在安卓IconGenerator上将文本居中
我正在使用地图上放置许多标记的应用程序开发一个应用程序,并且我使用自定义簇人来显示它们. 问题是我无法在自定义标记图标的中心绘制群集的大小,请参阅附件的屏幕截图. 我尝试在Icongenerator中添加ContentSpadding,但由于显示的数字数量变化,但仍然没有运气.您能帮我将文字置于生成的图标上吗? 代码: IconGenerator clusterIconGenerator = new IconGenerator(context); clusterIcon = context.getResources().getDrawable(R.drawable.map_cluster); clusterIconGenerator.setBackground(clusterIcon); @Override protected void onBeforeClusterRendered(Cluster cluster, MarkerOptions mar
在Google Maps v2 for Android中定制标记的可点击区域
我目前正在为Android使用Google Maps V2 API并进行一些自定义叠加层. 对于初学者,我创建了一个比标准"标记"大的自定义位图. 我知道,使用较旧的地图API,您可以创建一个控制可点击区域的自定义覆盖物,但是在较新的地图API上也必须使用它.我只是希望我的自定义标记的单击区域与我设置的自定义位图图标相同.我已经阅读了示例和文档,找不到任何东西.任何帮助将不胜感激. 谢谢 (这是我正在阅读的文档) https://developers.google.com/maps/documentation/android/marker#customize_a_marker 解决方案 已确认.库中的一个错误. 我在这里创建了一个错误报告: 编辑: 这已经在库中修复了,现在应该正确工作.
14 2024-03-31
编程技术问答社区
标记 使用base64编码的字符串
我试图通过使用Base64编码字符串在Google地图上使用自定义标记.不知何故它行不通. 解决方案 尝试按以下方式进行操作: var marker = new google.maps.Marker({ position: latLng, map: map, title: 'hello', id: 'hehehe', icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA..." }); 编辑:只需补充:如果您使用服务器端语言来生成JS,则可以始终插入一些PHP/Python/任何代码加载图像并将其转换为Base64表示. 类似(PHP后端): $path = 'path/to/my/image.ext'; $info = getimagesize($info); $ext = ($info[2]); $data = file_get_content
6 2024-03-27
编程技术问答社区
在Google Places自动完成中,改变的输入字段的前一个标记不会消失
嗨,我正在使用Google Places与4个输入的自动完成.问题在于,当更改单个输入字段时,该输入字段的上一个标记(及其Infowdindow)不会从地图中消失.如何使标记被覆盖?任何答案都将被赞赏. 这是我的代码: var map = null; var autocompleteOptions = { componentRestrictions: {country: "az"} }; 这是标记和Infowdindows的数组: var infowindow = []; var marker = []; setUtocomplete函数都针对每个输入字段调用: function setupAutocomplete(autocomplete,inputs,i) { autocomplete[i] = new google.maps.places.Auto
为什么只有最后一个输入的标记出现在Google Places自动完成中?
嗨,我使用的是带有4个输入的Google Places自动完成,AutoComplete可以正常工作,但仅出现了最后一个输入的标记和InfowDIDDOW.有人可以告诉我问题在哪里,以及为什么其他输入的标记和信息输入不会出现在地图上? 任何答案都被赞赏. Place Autocomplete
在地图上显示多个标记,并有各自的信息窗口
我需要在地图上显示多个标记,每个标记都有自己的 Infowdindow.我已经创建了没有问题的单个标记, 但是不知道如何为每个创建Infowdows. 我正在使用基于ASP的网站中的V3 API生成地图, 从一组DB记录中创建标记.标记是 通过通过RS循环并使用标记()来创建 相关变量: var myLatlng = new google.maps.LatLng(lat,long); var marker = new google.maps.Marker({ map: map, position: myLatlng, title: 'locationname', icon: 'http://google-maps-icons.googlecode.com/files/pa
20 2024-03-16
编程技术问答社区
使用ASPNET MVC 3和Razor在单独的javascript文件中@Url.Content
我正在使用此 if (ret = 1) iconType = new google.maps.MarkerImage('@Url.Content("~/Content/images/image.png")'); else if (ret = 2) iconType = new google.maps.MarkerImage('@Url.Content("~/Content/images/image2.png")'); else if (ret = 3) iconType = new google.maps.MarkerImage('@Url.Content("~/Content/images/image3.png")'); 在视图(ASPNET MVC 3)中,现在我将代码移至单独的JavaScript文件(我正在使用该代码,因为它取决于我设置为control image.png,image2.png的可vaible值.或image3.png).
6 2024-03-12
编程技术问答社区
谷歌地图V3重复标记-使用数组来管理标记,但仍然得到重复的标记
我没有得到它:我有一个数组来管理我添加到地图的标记.当我更新集合时,即使我的标记数组仍然只有正确的数字,标记也会复制. 我确定这对我来说是一个非常简单而愚蠢的错误 - 但我没有看到它. m.viewMarkers = function(data){ //ajax call to get latLng, returns an object with 4 markers showMarkers(); } function showMarkers(){ g.currentMarkers = []; // setting up my marker array $.each(g.markersCollection, function(i,item){ // jquery-iterate over the object from the ajax call g.currentMarkers.push( // adding markers
2 2024-03-06
编程技术问答社区
如何用选择法在一个数组中过滤谷歌地图的标记?
我在我的网站上使用一个数组实现了一个Google地图,例如: var gmarkers1 = []; var markers1 = []; markers1 = [ ['0', 'Title', 52.4357808, 4.991315699999973], ['1', 'Title', 52.4357808, 4.991315699999973], ['2', 'Title', 52.4555687, 5.039231599999994], ]; 在此示例中有3个标记,但实际上还有更多.出于我的目的,这是唯一的方法(一个数组). 问题:我希望能够使用Selectbox在此数组中过滤.因此,用户从选择中选择"汽车",而Google地图仅显示属性(?)"汽车"的标记. 标记如下所示: for (i = 0; i
12 2024-03-05
编程技术问答社区
选择JavaScript数组中的最后一个元素
我正在制作一个应用程序,该应用程序可以实时更新用户的位置和路径,并在Google地图上显示此应用程序.我的功能允许使用对象同时跟踪多个用户,该对象每秒都会更新. 现在,当用户按下Android应用程序中的按钮时,坐标会发送到数据库,并且每次位置更改时,都会在地图上更新标记(并形成了多线线). 由于我有多个用户,因此我发送了一个独特的随机生成的字母字符串,以便我可以为每个用户显示一个单独的路径.当JS从数据库中汲取此数据时,它会检查用户是否存在(如果不存在),则创建一个新键,值为列表.看起来像这样: loc = {f096012e-2497-485d-8adb-7ec0b9352c52: [new google.maps.LatLng(39, -86), new google.maps.LatLng(38, -87),
12 2024-03-04
编程技术问答社区
只在画好的圆圈或周长内绘制标记 Google Maps v2 Android
基本上,标题说明了一切.我不想在地图上绘制数据库中的每个条目,而是想查询数据库,而仅绘制其坐标属于用户当前位置绘制的圆圈的条目,但是我无法非常弄清楚该怎么做.目前,我已经编写了代码,该代码绘制了用户在地图上的当前位置以及存储在数据库中的所有条目的位置以及当前位置周围的圆圈(请参见下图).根据下面的图片,我只希望绘制圆圈内的三个标记. 有人知道是否有任何方法可以检查存储在我的数据库中的latlng坐标是否属于圆圈的区域?或者如果没有,任何人都可以建议使用类似想法的任何替代方案. 我想的一种替代方案是使用正方形/矩形而不是一个圆圈,这样我就可以简单地将我的条目的坐标与正方形/矩形的边界进行比较,但是我真的不知道那是多么可行被视为这些形状不受Google Maps API的支持.我还遇到了可以有用的类,但我找不到任何示例代码.我该怎么做? 解决方案 好吧,我已经使用了我在问题中提到的latlngbounds类找出解决方案.它的作用是: 在用户的当前纬度和经度坐标周围创
18 2024-03-03
编程技术问答社区
将谷歌地图V3标记的拖动限制在多段线上
我已经创建了一张Google地图,并在其上绘制了一条多线线.然后,我在多纤维的开始中添加了标记(与多线线的起始坐标相同). . 我想做的是抓住并拖动标记,但将其"粘在多线线上",以便您只能沿着层拖动,而不是沿层拖动或拖动. 是否可以将可拖动标记限制在GM V3中的路径上?如果没有,有人可以认为这可能是如何做到的吗?当用户掉落它时,有可能将标记捕获到路径上的最近点,但是我更喜欢更平稳的"沿路径拖动"效果. 也很高兴也有ArcGIS建议.没有提供代码,因为这在理论问题上更像是一个. 让我知道我是否需要进一步解释. 预先感谢 解决方案 好的,所以我设法解决了这个问题.它不是完全优雅的,我敢肯定它可以改善,但是这是我想到的一般概念: 我从GPX文件中创建一个latlng点数组,但它们仅每20左右记录点数.对于我的目的而言,这还不够粒度,所以我所做的是在每对gpx记录的每对点之间约10点(在线性线上)填充点的数组: $.each(array_of_p
18 2024-03-03
编程技术问答社区
使用谷歌地图API的簇状标记,来自数据库的位置
我正在创建一个基于数据库中信息的标记填充的Google地图.我遵循在第一步中从Google提供的. 该地图效果很好,但是由于我的某些标记物结合在一起,因此我想利用标记聚类.我遵循了Google的教程中的内容 marker clustering . 但是,我找不到使它起作用的方法.我的标记只是出现了它们的样子,而没有任何聚类.我想我已经遵循了所有步骤,将JS文件链接到我的HTML,将标记图标和JS文件下载和上传到我的托管站点等. 我如何继续从数据库创建标记,也可以集中标记? 我已经测试了Google Marker Clusterer教程的确切代码,一切正常. (但是标记不在我需要的位置.) 我的HTML(PHP)网页的简化版本如下: My Website map { heig
12 2024-03-02
编程技术问答社区
在谷歌地图API v3中切换开/关标记物
我很难获得setMap(null);每个人似乎都建议工作的功能. 我相信我实施标记的方式可能是一个问题. 如果有人可以看一下,让我知道,如果您发现错误,我会非常感谢. 链接:请注意:上面的旧链接,不去任何地方. 解决方案 基本问题是,如果您希望这样做,就必须下定决心要markersTest对象应保持什么.您似乎无法决定markersTest中的元素是否应该是标记,还是应该是告诉您要放置标记的数组. 引用JavaScript文件,以下是检查/清除复选框时执行的两个功能: 15 function addTestMarkers(){ 16 for(var i in markersTest) { 17 var location = new google.maps.LatLng(markersTest[i][1], markersTest[i][2]); 18 marker = new google.maps.M
8 2024-03-01
编程技术问答社区
谷歌API V3的多个信息窗口和点击关闭
我弄清楚了如何具有多个带有信息窗口的标记,但是当您单击另一个标记时它们不会关闭,我相信这是因为我正在为每个标记创建一个新的信息窗口,因此将不胜感激. var map ; function initialize() { var latlng = new google.maps.LatLng(53.063165, -3.205390); var myOptions = { zoom: 6, center: latlng, mapTypeId: google.maps.MapTypeId.SATELLITE, zoomControl: false, mapTypeControl: false, mapTypeControlOptions: { style: google.maps.MapTypeCont
12 2024-03-01
编程技术问答社区
谷歌地图API。标记图像定位
我更改了在Google Maps上使用marker的图像.新图像比旧图像要宽得多,我注意到标记与lat和lng对齐,因此标记在lat>和lng上的水平中点都在其水平中点.这不是我想要的,我想让lat和lng与标记左侧对齐 - 我想将marker从默认位置偏移到右侧约80px. 解决方案 尝试一下大小. var markerImage = new google.maps.MarkerImage('/img/icon/here.png', new google.maps.Size(80, 80), //size new google.maps.Point(0, 0), //origin point new google.maps.Point(0, 80)); // offset point marker[stamp] = new google.maps.Marker({ position: loc, // loc is a variable wi
8 2024-03-01
编程技术问答社区
集群上的谷歌地图信息窗口
我有一个带有很多标记的地图.所有这些标记都有一个Infowdow. 使用标记群集lib,( 这是我到目前为止的代码.它可以与标记上的Infowdow一起使用,除了单击簇时未显示InfowDindow. function initialize(lat, lng) { var myLatlng = new google.maps.LatLng(lat,lng); var mapOptions = { mapTypeControl: false, center: myLatlng, zoom: 14, maxZonn:15 }; map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); google.maps.event.addListener(map, 'idle', function() {
24 2024-03-01
编程技术问答社区
从谷歌地图API V3中删除方向标记
要从地图上删除普通标记,我了解您只需调用标记图(null),但是在实现Google Maps Directions服务时,它会自动将标记A和B添加到地图上(计算从点A到A Point A到点B).我无法控制这些标记,因此我无法以正常方式删除它们.那么如何删除这些标记(我在地图上有自定义标记)? 解决方案 创建DirectionsRenderer对象时,将suppressMarkers选项设置为true,然后标记不会显示.您还可以更改标记的样式或图标.请参阅 directionsrendereroptions 对于其他房地产,您可以为其他物业设置. ... directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true}); ... 编辑:自从我的原始答案大约6年前以来,API似乎有所改变,因此 @Joni-Jones的答案现在是正确的方法.我在上面调整了我的示
12 2024-03-01
编程技术问答社区
如何让谷歌地图上的标记在鼠标移动时变大?
在Google Map API V3中,作为标题,我只在Google Map API中看到了2种动画,但是我在某些地方看到了Map Marker像鼠标上的鼠标一样大吗?如何实施? 解决方案 使用标记的鼠标事件处理程序和setIcon()方法.您可以使用 dynamionic iCons 出于此目的,然后更改chld属性以使图标生长: 不要忘记设置适当的锚点!例如: marker.setIcon(new google.maps.MarkerImage( 'http://chart.googleapis.com/chart?chst=d_map_spin&chld=0.65|0|FF8800|15|_|', null, null, new google.maps.Point(11, 43) // this is the proper anchor point for scale 0.65 )); 其他解决方案 您可以将自己的图像用作标
14 2024-02-26
编程技术问答社区