小编MrU*_*own的帖子

Google Chrome 84 + Google Maps InfoWindow:点击关闭按钮时防止网页跳转

在使用 JavaScript API 关闭嵌入在网页中的 Google 地图中的 InfoWindow 时,Google Chrome v84 中似乎有一个奇怪的行为:

每当页面没有滚动到顶部时,单击 InfoWindow 上的关闭按钮会使页面的滚动位置15px向下跳转。

这在版本 83 及更低版本中没有发生。

这是一个简单的可重现示例。向下滚动页面直到地图位于视口中,单击标记,关闭信息窗口,页面将向下滚动15px

function initialize() {

  const mapOptions = {
    zoom: 5,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    center: new google.maps.LatLng(0, 0)
  };

  const map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  const marker = new google.maps.Marker({
    position: new google.maps.LatLng(0, 0),
    map: map,
    title: 'Nothing here'
  });

  const infowindow = new google.maps.InfoWindow({
    content: 'Hello World'
  });

  google.maps.event.addListener(marker, 'click', function() …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-chrome google-maps-api-3

7
推荐指数
1
解决办法
817
查看次数

Google Visualization API字体颜色

我创建了一个简单的ColumnChart.有没有办法全局更改字体颜色(通过选项)?

我想改变X和Y轴文本的颜色.我能够改变字体,背景颜色等,但不能改变字体颜色.

这是我到目前为止:

var options = {
    backgroundColor: '#f1f1f1',
    fontName: 'Segoe UI'
};

chart.draw(data, options);
Run Code Online (Sandbox Code Playgroud)

提前致谢.

google-visualization

6
推荐指数
1
解决办法
5179
查看次数

用于在Google地图视图(如Panoramio)中向长/纬度位置显示最近照片的API

请原谅我,如果已经问过这个问题,但搜索"谷歌地图视图"会带来相当多的无关紧要的点击.

是否有API可以从Google地图视图中提供的照片中显示距离特定长/纬度位置最近的(比方说)5张照片?我并不特别需要它们在地图上,只是为了嵌入照片的缩略图并链接到原件.

例如,我有一个卡拉尼什石圈的页面.我可以根据long/lat查询从Views中嵌入图像吗?

以下是该位置的观看次数:https: //www.google.com/maps/views/explore?hl = zh-CN&gl = gb&vm = 1&lll = 54.596562,-3.104517&bd = 54.586641,-3.121855,54.606481,-3.087179&z = 15 PV = 2

我读到Views是应该从Panoramio接管的.我知道Panoramio有一个API,但正在关闭.

如果这是可能的,有没有人有类似的例子?如果这是唯一的方法,那么在地图上显示照片就行了.非常感谢Andy http://www.megalithic.co.uk/article.php?sid=42

google-maps panoramio google-maps-api-3 photosphere

6
推荐指数
1
解决办法
1618
查看次数

自动完成地址字段触发到最近列出的GEO位置

现在,代码使用浏览器的GEO位置来确定用户所在的位置,并计算从位置列表中的每个位置到用户的距离.它对下拉列表中的列表进行排序,并要求用户在那里手动选择一个位置(这大部分时间是排序列表顶部的最短位置).

通过在选择之后单击下拉列表下方的按钮,将执行与用户选择相关联的链接.

我想用Google API地址字段替换自动确定用户位置的代码.应该要求用户键入地址,选择正在显示的一个自动填充选项,并转发到与最接近所选地址的位置相关联的链接.选择地址后触发的事件:

  1. 正在计算所选地址与位置列表中位置之间的距离
  2. 将确定最近的位置(用户在此没有发言权)
  3. 将执行与最近位置相关联的链接(href).视觉最终结果应该只是一个地址字段.我包含了下拉和按钮,因为我认为可以使用大部分底层代码完成,即使我还没有这样做.

感谢Ali将代码上传到小提琴:

https://fiddle.jshell.net/ali_soltani/5h283178/4/

html javascript jquery google-maps-api-3

6
推荐指数
0
解决办法
287
查看次数

Maps API v3:计算方位

我一直在努力解决这个问题需要一些建议.我看过一些类似的主题,但找不到适合我的答案.

我正在使用谷歌地图API创建一个应用程序,它将确定您的位置,确定一个特定点(点b),然后将箭头移动到指向点b的方向.我在计算轴承时遇到问题,有人可以提供一些帮助吗?

我有: - 点a的lat/lng - 点b的lat/lng - 设备知道North的位置,我能够计算设备指向北方的距离

我需要:计算将获取此信息并吐出若干度以指向箭头.

我看过这里似乎很有用,但我仍然无法让它工作 - 它正在返回NaN

http://www.movable-type.co.uk/scripts/latlong.html

我不是一个真正的js专业人士,所以非常感谢这里的一些指导.

非常感谢!

javascript google-maps-api-3

5
推荐指数
1
解决办法
4518
查看次数

在Google地图上收听键盘事件

我的应用程序上有谷歌地图,我使用地图绘制折线.我想在谷歌地图上听键盘事件,以便说如果我在绘制折线时按下Esc键,它应该停止绘图(它应该重置DrawingMode).我试过两种方式.1.我在其容器中添加了关键事件:

 bindKeyEventsForMapButtons : function(btn){
        var me = this;
        btn.el.dom.onkeydown = function (e) {
            if(btn.getId() == 'drawPerimeterGoogleMap'){
                if(btn.pressed==true)
                    btn.toggle(false);
            }else if(btn.getId() == 'removeAllPerimeter'){
                    btn.setPressed(false);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

在这种情况下,当我点击地图时会触发事件.但是当我在地图上画画时.

  1. 通过向Map本身添加事件

    google.maps.event.addListener(me.map, 'keydown', function () { alert('in keydown'); });

这永远不会被解雇

而且我不想在窗口或整个文档上听关键事件,因为我在文档中也有其他组件

有帮助吗?谢谢

javascript google-maps google-maps-api-3

5
推荐指数
1
解决办法
4483
查看次数

适用于iOS的Google Maps API API密钥的例外情况

我正在使用适用于IOS的Google Maps API开发iOS应用.我为我的项目安装了CocoaPod,并根据Google Developer上的教程配置它们.但是,当我运行我的项目时,它说

***由于未捕获的异常'GMSServicesException'而终止应用程序,原因是:'Google Maps SDK for iOS必须>在使用之前通过[GMSServices provideAPIKey:...]进行初始化

但我已经在AppDelegate.swift上调用了"GMSServices.provideAPIKey.以下是代码:

....
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    GMSServices.provideAPIKey("***********************")
    return true
}
....
Run Code Online (Sandbox Code Playgroud)

(**************)是我的API密钥.

由于Google Maps API使用Objective C,因此我创建了一个桥接头来导入库.

我试图在[application:didFinishLaunchingWithOption]上设置断点.但它会在运行该函数之前引发异常,我认为这很奇怪.

对此感到困惑.提前致谢.

google-maps api-key ios swift

5
推荐指数
2
解决办法
3248
查看次数

在 iOS 移动浏览器中请求位置权限弹出窗口

您好,我正在使用下面的 java 脚本获取位置权限,当我们在桌面浏览器和 Android 设备上打开它时工作正常,但弹出窗口在 iOS 设备上不起作用。

(function () {
            function updatePermission(name, state) {
                console.log('update permission for ' + name + ' with ' + state);
            }

            function init() {
                var getPosBtn = document.querySelector('#getPositionBtn');
                // Check for Geolocation API permissions
                navigator.permissions.query({name:'geolocation'}).then(function(p) {
                    updatePermission('geolocation', p.state);
                    p.onchange = function() {
                        updatePermission('geolocation', this.state);
                    };
                });

                getPosBtn.addEventListener('click', function() {
                    getLocation();
                });

                $( document ).ready(function() {
                    getpermission();
                });

                function getpermission(){
                    navigator.geolocation.getCurrentPosition(
                        function(position) {
                            var geocoder;
                            var city;
                            geocoder = new google.maps.Geocoder();
                            var latlng = new …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3 ios

5
推荐指数
1
解决办法
871
查看次数

REST API入口点和端点

REST API入口点是什么,它与端点有何不同?

我在网上搜索了各种定义,但似乎仍然无法绕开它们(一般来说,我是API的新手)。据我了解,它们提供了与服务器进行通信的方式,但是它们到底是什么?入口点和端点如何相似或不同?

rest endpoint

5
推荐指数
2
解决办法
3307
查看次数

为什么谷歌地图没有放大我提供的纬度/经度?

我已经在我的 Android 应用程序中实现了 Google Maps API v2。当我打开包含地图片段的活动时,我添加了一个标记并缩放到级别 14。

这是我添加/更新标记的方法:

private void updateMarker() {
    if(marker != null){
        marker.remove();
    }
    LatLng latlng = new LatLng(Double.parseDouble(latitude), Double.parseDouble(longitude));
    marker = mMap.addMarker(new MarkerOptions().position(latlng).title(username));
    marker.setIcon((BitmapDescriptorFactory.fromResource(R.drawable.marker)));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(latlng));
    mMap.animateCamera(CameraUpdateFactory.zoomTo(zoom), 2000, null);
}
Run Code Online (Sandbox Code Playgroud)

它使用安装了最新 Android 的 Nexus 5 通过 Android Studio 在调试中正常工作。问题是当我运行发布版本时。标记添加在正确的位置,缩放动画正常工作,缩放到正确的级别。但它不会移动到我添加的标记处。

java android google-maps-android-api-2

4
推荐指数
1
解决办法
1988
查看次数