标签: google-maps

Google Maps JS API v3 - 简单的多标记示例

谷歌地图Api相当新的.我有一系列数据,我想循环并绘制在地图上.看起来相当简单,但我发现的所有多标记教程都非常复杂.

让我们使用谷歌网站上的数据数据作为例子:

var locations = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.923036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 151.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.950198, 151.259302, 1]
];
Run Code Online (Sandbox Code Playgroud)

我只是想绘制所有这些点,并在单击时弹出一个infoWindow以显示名称.

javascript google-maps google-maps-api-3

640
推荐指数
10
解决办法
78万
查看次数

如何使用Google Maps API禁用鼠标滚轮缩放

我正在使用Google Maps API(v3)在页面上绘制一些地图.我想做的一件事是在地图上滚动鼠标滚轮时禁用缩放,但我不确定如何.

我已禁用scaleControl(即删除了缩放UI元素),但这不会阻止滚轮缩放.

这是我的函数的一部分(它是一个简单的jQuery插件):

$.fn.showMap = function(options, addr){
  options = $.extend({
    navigationControl: false,
    mapTypeControl: false,
    scaleControl: false,
    draggable: false,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }, options);
  var map = new google.maps.Map(document.getElementById($(this).attr('id')), options);

  // Code cut from this example as not relevant
};
Run Code Online (Sandbox Code Playgroud)

jquery google-maps jquery-plugins google-maps-api-3

553
推荐指数
9
解决办法
53万
查看次数

选择JavaScript数组中的最后一个元素

我正在制作一个实时更新用户位置和路径的应用程序,并在Google地图上显示.我的功能允许使用每秒更新一次的对象同时跟踪多个用户.

现在,当用户按下Android应用程序中的按钮时,坐标将被发送到数据库,每次位置更改时,都会在地图上更新标记(并形成折线).

由于我有多个用户,因此我会发送一个唯一且随机生成的字母数字字符串,以便为每个用户显示单独的路径.当JS从数据库中提取此数据时,它会检查用户是否存在,如果不存在,则会创建一个值为列表的新密钥.它看起来像这样:

loc = {f096012e-2497-485d-8adb-7ec0b9352c52: [new google.maps.LatLng(39, -86),
                                              new google.maps.LatLng(38, -87),
                                              new google.maps.LatLng(37, -88)],
       44ed0662-1a9e-4c0e-9920-106258dcc3e7: [new google.maps.LatLng(40, -83),
                                              new google.maps.LatLng(41, -82),
                                              new google.maps.LatLng(42, -81)]}
Run Code Online (Sandbox Code Playgroud)

我正在做的是存储一个坐标列表作为键的值,这是用户的ID.每次更改位置时,我的程序会通过添加到列表来更新此列表(这可以正常工作).

我需要做的是每次位置更改时更新标记的位置.我想通过选择数组中的最后一项来做到这一点,因为那将是最后一个已知的位置.现在,每次更改位置时,都会向地图添加一个新标记(示例中的每个点都会在该位置显示标记),因此继续添加标记.

每次位置更新时,我会使用'for(x in loc)`语句从列表中获取最后一个位置并使用它来更新标记.如何在哈希中从数组中选择最后一个元素?

javascript arrays google-maps google-maps-markers

497
推荐指数
13
解决办法
82万
查看次数

如何在Android Studio中获取SHA-1指纹证书以获得调试模式?

我已将自己从Eclipse转移到Android Studio.现在我正在尝试使用我的地图应用程序.所以我需要我的SHA-1指纹证书号码.

当我使用Eclipse时,它正好在Windows - > Preferences - > Android - > Build下.但是在Android Studio中,我找不到这样的选项,以便我可以轻松找到指纹.我正在使用Windows.我从这个链接中读到:

当您从IDE运行或调试项目时,Android Studio会自动以调试模式签署您的应用程序.

所以我尝试在从此链接设置我的Java bin路径后在命令行中运行它,但遗憾的是找不到我的指纹.据说这是非法的选择.

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Run Code Online (Sandbox Code Playgroud)

有没有办法从Android Studio中找到SHA-1指纹,就像在Eclipse中一样容易?由于我是Android Studio中的新手,找到它的完整过程是什么?

我想要添加的另一件事是我让我的Eclipse生成SHA-1指纹,之前我在Google开发者控制台中将该应用程序注册在该指纹上,并且我通过该API密钥在Eclipse中使用该应用程序.在Android Studio中我的项目是否可以使用相同的API密钥?

google-maps android-studio

454
推荐指数
34
解决办法
50万
查看次数

Google Maps API v3:如何删除所有标记?

在Google Maps API v2中,如果我想删除所有地图标记,我可以简单地执行以下操作:

map.clearOverlays();
Run Code Online (Sandbox Code Playgroud)

如何在Google Maps API v3中执行此操作?

看看Reference API,我不清楚.

html javascript google-maps google-maps-api-3

421
推荐指数
10
解决办法
48万
查看次数

密钥库证书的SHA-1指纹

获取SHA-1指纹的方法与获取指纹的方法相同吗?以前,我正在运行此命令:

Windows命令提示符运行keytool.exe

我不清楚我得到的结果是SHA-1指纹.有人可以澄清一下吗?

android google-maps google-plus android-keystore

409
推荐指数
29
解决办法
55万
查看次数

通过Android上的意图启动Google地图路线

我的应用需要显示从A到B的Google地图路线,但我不想将Google地图放入我的应用程序 - 相反,我想使用Intent启动它.这可能吗?如果有,怎么样?

java android google-maps android-intent

382
推荐指数
11
解决办法
29万
查看次数

Google Maps&JavaFX:单击JavaFX按钮后在地图上显示标记

当我点击我的JavaFX应用程序的Button时,我一直在尝试在地图上显示标记.所以当我点击该按钮时,我在JSON文件中写入该位置,该文​​件将被加载到包含该地图的html文件中.问题是当我在浏览器中打开html页面时,它工作得很好,但在JavaFX的Web视图中没有任何反应,我不知道为什么!

这是html文件:

<!DOCTYPE html>
<html>
  <head>
  <title>Simple Map</title>
  <meta name="viewport" content="initial-scale=1.0">
  <meta charset="utf-8">
  <style>
  /* Always set the map height explicitly to define the size of the div
   * element that contains the map. */
  /*#map {
    height: 100%;
  }*/
  #map{width:100%;height:100%;margin:auto;}
  /* Optional: Makes the sample page fill the window. */
  html, body {
    height: 100%;
    margin: 0;
    padding: 0;
  }
</style>
</head>
<body>
<div id="map"></div>
<script>
  var map;
  var marker;
  // Multiple Markers
  var markers = [];
  var pos …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps javafx javafx-webengine

359
推荐指数
3
解决办法
4万
查看次数

LogCat消息:找不到Google Play服务资源.检查项目配置以确保包含资源

我有一个使用Google Maps Android v2 API的应用程序.我已将google-play-services_lib库项目添加到我的工作区,并根据这些页面上的说明从我的应用程序项目添加了对它的引用:

一切似乎都运行正常:应用程序使用默认标记显示地图和叠加层.所以我很确定我已经正确设置了Google Play服务和Google Maps API.

但是,每当初始化地图视图时(在第二代Nexus 7上),我都会在ADT LogCat窗口中看到此消息:

The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
Run Code Online (Sandbox Code Playgroud)

消息级别为Error,标记为GooglePlayServicesUtil.

这似乎是良性的,因为我的应用程序确实工作正常.但我该怎么做或检查以试图解决可能出现的问题?


更多信息:每次在LogCat中显示"未找到Google Play服务资源"消息时,都会显示以下消息,即警告并标记ResourceType:

getEntry failing because entryIndex 906 is beyond type entryCount 3

Failure getting entry for 0x7f0b038a (t=10 e=906) in package 0 (error -2147483647)
Run Code Online (Sandbox Code Playgroud)

FWIW,我在搜索项目时找不到常量0x7f0b038a,包括gen/R.java文件.

我检查了生成的.apk的内容,它包含了google-play-services_lib/res目录中的所有资源.


另一个更新:添加ActionBarSherlock并将清单中的targetSdkVersion从8更新为17后,我现在看到LogCat输出中的另一个错误:

Could not find class 'maps.af.k', referenced from method 'maps.ag.an.a' …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-play-services

316
推荐指数
6
解决办法
14万
查看次数

Google Map API v3 - 设置边界和中心

我最近切换到Google Maps API V3.我正在编写一个简单的例子来绘制数组中的标记,但是我不知道如何相对于标记自动居中和缩放.

我搜索了网络的高低,包括谷歌自己的文档,但没有找到一个明确的答案.我知道我可以简单地采用坐标的平均值,但是如何相应地设置缩放?

function initialize() {
  var myOptions = {
    zoom: 10,
    center: new google.maps.LatLng(-33.9, 151.2),


    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);

  setMarkers(map, beaches);
}


var beaches = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.423036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 121.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.450198, 151.259302, 1]
];

function setMarkers(map, locations) {

  var image = new google.maps.MarkerImage('images/beachflag.png',
      new google.maps.Size(20, 32),
      new google.maps.Point(0,0),
      new google.maps.Point(0, 32));
    var shadow = new …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

295
推荐指数
4
解决办法
35万
查看次数