Google地图是Google提供的桌面和移动网络地图服务应用程序和技术,提供卫星图像,街道地图和街景视图。还支持通过Google Maps API嵌入第三方网站的地图,以及世界各地许多国家的城市企业和其他组织的定位器。
Google 的编码折线算法格式: 你如何解码这个? 也许向后运行算法;但我陷入了第 5 步:没有初始值,我如何知道它是否为正/负...
我正在开发一个带有谷歌地图打字稿API的应用程序,今天我在启动应用程序时收到此警告消息-> 从 2024 年 2 月 21 日开始,google.maps.Marker 将不再 可用的。插入...
Android Studio - Google 地图 SDK - 空白 MapFragment
我在我们的项目中使用 Android Maps SDK 已经超过 5 年了。突然间,地图一片空白。 现在我已经更新了谷歌控制台中有关付款的所有数据,我想这可能就是问题所在。 我创造...
我有一个运行良好的 Google 地图,但我只需要调整它,以便当单击标记并打开信息窗口时,我希望该标记(和地图)位于屏幕的中心。这太...
我正在使用 Google 地图自动完成服务,当我开始在附加到该服务的输入框中键入内容时,它会在下拉列表中提供预测。 但是,在我的应用程序中,我首先让用户进入...
使用 Android Google Maps API 查找路线
我希望能够使用 Android 版 Google 地图 API 显示两个用户定义的地理点之间的路线。我还希望能够让用户选择显示什么类型的路线,
这是我的代码(大部分代码来自Google的API页面)。 var 海滩 = [ ['邦迪海滩', -12.890542, 120.274856, 4], ['库吉海滩', -12.923036, 520.259052, 5], ['</desc> <question vote="12"> <p>这是我的代码(大部分代码来自 Google 的 API 页面)。</p> <pre><code><script> var beaches = [ ['Bondi Beach', -12.890542, 120.274856, 4], ['Coogee Beach', -12.923036, 520.259052, 5], ['Cronulla Beach', -12.028249, 1221.157507, 3], ['Manly Beach', -12.80010128657071, 1121.28747820854187, 2], ['Maroubra Beach', -33.950198, 121.259302, 1] ]; function setMarkers(map, locations) { for (var i = 0; i < locations.length; i++) { var beach = locations[i]; var myLatLng = new google.maps.LatLng(beach[1], beach[2]); var marker = new google.maps.Marker({ position: myLatLng, map: map, title: beach[0], zIndex: beach[3] }); } } function initialize() { var mapOptions = { zoom: 3, center: new google.maps.LatLng(38.77417, -9.13417), mapTypeId: google.maps.MapTypeId.SATELLITE } var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); setMarkers(map, beaches); } google.maps.event.addDomListener(window, 'load', initialize); setInterval(function() { setMarkers(map, beaches); }, 5000); </script> </code></pre> <p>我只想重新加载标记。我尝试使用初始化函数重新加载地图,但它不起作用。然后我尝试使用 setMarkers 函数重新加载,但仍然没有成功......</p> <p>感谢您的帮助。</p> </question> <answer tick="true" vote="42"> <p>你应该做的几件事/我对你的原始代码进行了更改的事情:</p> <ol> <li>为标记使用有效的纬度/经度坐标(例如 1121.28747820854187 不是有效的经度)</li> <li>为您的地图创建一个全局变量(更容易在脚本中引用)</li> <li>创建一个数组来保存标记</li> <li>我为您的标记添加了标记动画 <pre><code>animation: google.maps.Animation.DROP,</code></pre>,以便您可以看到它们何时重新加载,以及用于调用重新加载函数的 <em>重新加载标记</em> 按钮。</li> </ol> <p>基本上你想做的是:</p> <ol> <li>在 <pre><code>setMarkers</code></pre> 函数中创建每个标记</li> <li>将每个标记推入 <pre><code>markers</code></pre> 数组</li> <li>当<em>重新加载</em>标记时,循环遍历标记数组并对每个标记调用<pre><code>setMap(null)</code></pre>以将其从地图中删除</li> <li>完成后,再次调用 <pre><code>setMarkers</code></pre> 重新绘制标记</li> </ol> <p><strong>更新代码:</strong></p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="false"> <div> <pre><code>let map; let markers = []; // Create a marker array to hold your markers const beaches = [ ['Bondi Beach', 10, 10, 4], ['Coogee Beach', 10, 11, 5], ['Cronulla Beach', 10, 12, 3], ['Manly Beach', 10, 13, 2], ['Maroubra Beach', 10, 14, 1] ]; function setMarkers(locations) { for (let i = 0; i < locations.length; i++) { let beach = locations[i]; let myLatLng = new google.maps.LatLng(beach[1], beach[2]); const marker = new google.maps.Marker({ position: myLatLng, map: map, animation: google.maps.Animation.DROP, title: beach[0], zIndex: beach[3] }); // Push marker to markers array markers.push(marker); } } function reloadMarkers() { // Loop through markers and set map to null for each for (let i = 0; i < markers.length; i++) { markers[i].setMap(null); } // Reset the markers array markers = []; // Call set markers to re-add markers setMarkers(beaches); } async function initMap() { // Request libraries when needed, not in the script tag. const { Map } = await google.maps.importLibrary("maps"); map = new Map(document.getElementById("map-canvas"), { zoom: 5, center: new google.maps.LatLng(10, 12), mapTypeId: google.maps.MapTypeId.SATELLITE }); setMarkers(beaches); // Bind event listener on button to reload markers document.getElementById('reloadMarkers').addEventListener('click', reloadMarkers); } initMap();</code></pre> <pre><code>#map-canvas { height: 140px; }</code></pre> <pre><code><div id="map-canvas"></div> <button id="reloadMarkers">Reload</button> <script> (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({ key: "AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk", v: "weekly", // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.). // Add other bootstrap parameters as needed, using camel case. }); </script></code></pre> </div> </div> <p></p> <p><kbd><a href="http://jsfiddle.net/upsidown/p646xmcr/" rel="nofollow noreferrer">JSFiddle 演示</a></kbd></p> </answer> <answer tick="false" vote="3"> <p>要重新加载标记,请在创建时将它们推送到数组中。</p> <p>然后创建一个函数,在其中迭代数组,将标记映射设置为空。之后,擦除阵列。</p> <p><strong>编辑:</strong>我假设,您将在 PHP 上返回具有以下结构的 JSON</p> <pre><code>{ beaches: [ [ "Bondi Beach", -12.890542, 120.274856, 4 ], [ "Other Beach", -12.890542, 120.274856, 5 ] ] } </code></pre> <p>我还假设你会使用<a href="http://jquery.com/" rel="nofollow">jQuery</a>(只是为了简化ajax调用和json迭代)</p> <pre><code><script> var arrMarkers = []; var beaches = [ ['Bondi Beach', -12.890542, 120.274856, 4], ['Coogee Beach', -12.923036, 520.259052, 5], ['Cronulla Beach', -12.028249, 1221.157507, 3], ['Manly Beach', -12.80010128657071, 1121.28747820854187, 2], ['Maroubra Beach', -33.950198, 121.259302, 1] ]; function setMarkers(map, locations) { for (var i = 0; i < locations.length; i++) { var beach = locations[i]; var myLatLng = new google.maps.LatLng(beach[1], beach[2]); var marker = new google.maps.Marker({ position: myLatLng, map: map, title: beach[0], zIndex: beach[3] }); arrMarkers.push(marker); } } function initialize() { var mapOptions = { zoom: 3, center: new google.maps.LatLng(38.77417, -9.13417), mapTypeId: google.maps.MapTypeId.SATELLITE } var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); setMarkers(map, beaches); } function removeMarkers(){ var i; for(i=0;i<arrMarkers.length;i++){ arrMarkers[i].setMap(null); } arrMarkers = []; } google.maps.event.addDomListener(window, 'load', initialize); setInterval(function() { updateTheMarkers(); }, 5000); function updateTheMarkers(){ $.ajax({ type: "GET", url: "/yourphp.php", success: function (data) { //We remove the old markers removeMarkers(); var jsonObj = $.parseJSON(data), i; beaches =[];//Erasing the beaches array //Adding the new ones for(i=0;i < jsonObj.beaches.length; i++) { beaches.push(jsonObj.beaches[i]); } //Adding them to the map setMarkers(map, beaches); } }); } </script> </code></pre> <p>基本上,现在,每 5 秒你的 javascript 就会向你的 php 发出一个 ajax 请求,你的 php 将返回一个包含新海滩的更新后的 json,你将删除旧的标记,用新的位置填充数组并生成新的标记。 </p> </answer> <answer tick="false" vote="0"> <p>这可能不是最初的疑问,但要清除地图的标记和其他组件,请在加载地图及其组件之前放置:</p> <pre><code>map.clear (); </code></pre> </answer> <answer tick="false" vote="-1"> <p>即使在将新位置设置为标记后最初将其设置为不可见:</p> <pre><code>markerLcl.setPosition(mLatLng) </code></pre> <p>通过以下方式在新位置重新绘制:</p> <pre><code> markerLcl.setMap(null) markerLcl.setMap(mMap) </code></pre> </answer> </body></html>
如标题所示,如何更改如上图所示的信息窗口的位置? 我已按照 Google 的指示进行操作。现在我想改变 infowindows 的位置但不知道...
我正在开发一个利用 Google 地图 API 的 Ionic Angular 项目。我将 API 脚本直接包含在 index.html 文件中或动态地将其加载到项目中。我特别要求...
为什么我无法在 Google Map Flutter 上看到存储在 RTDB Firebase 上的其他用户的标记
问题是我只能在 Google 地图上看到自己的标记,而看不到其他用户的标记,即使其他用户数据(即纬度和经度)存储在实时数据库中。 下面你可以...
我想显示在谷歌地图上制作的多边形所有边的长度。也许可以在多边形的中心打印多边形的面积 这是显示长度的代码...
我有一个带有谷歌地图的Android地图,它可以根据用户屏幕位置从服务器动态加载标记。例如,如果用户移动地图,我只需向服务器发出请求,我就
如何使用 firebase 和 flutter 运行任务后台服务
我正在开发每 15 分钟获取当前地理位置并发送数据以保存在 firebase 数据库中的项目,此任务应该在应用程序关闭或终止时在后台运行,我的专业人士...
我尝试在 IOS 上跟踪用户位置,但总是被拒绝。我已在 app.json 文件中添加了所有必要的依赖项,但我不断收到相同的错误消息: [未处理
我是 React 新手,在理解与 google 地图 API 相关的代码部分时遇到一些困难。 从“@react-google-maps/api”导入 { GoogleMap, Marker, useLoadScript }; 常量 {
通过 iPhone 连接到 AT&T 无线网络的 Google 静态地图无法正常工作 [已关闭]
最近,当我的 iPhone 连接到 AT&T 无线网络时,我在检索静态地图时遇到了问题。但是,当我连接到本地 WiFi 时工作正常。 上周日几个小时...
const express = require('express'); 常量应用程序 = Express(); const { 客户端 } = require('@googlemaps/google-maps-services-js'); const googleMapsClient = new Client({apiKey:"myGoogleApiKey"...
我在 Angular 10 中使用谷歌地图 API,我发现切换 DROP 动画存在一些不一致之处。 官方文档上的 JSFiddle 有一个切换弹跳动画的演示。
我在 Google 地图上使用 Google 地图 API。 问题是,它向我显示了整个路径中的几个站点,将它们标记为 A-B-C-D...Z,但我需要将其更改为 1-2-3-4-..99, 这是我...
点击地图 POI 时,Google Map Api 要素层点击事件不会被触发
我的代码如下 地图 = 新 google.maps.Map(document.getElementById('地图'), { mapTypeId:window.google.maps.MapTypeId.ROADMAP, 禁用默认UI:true,