有关 GMSPanoramaView 实例化的 Google Maps SDK 计费问题

问题描述 投票:0回答:1

我正在尝试计算使用 Google Maps SDK 在 iOS 应用程序中加载和显示

PanoramaView
的成本。

根据官方文档,StreetView 每 1000 个实例 收费 14 美元,最多 10 万次,超过 11.2 美元(批量折扣超过 50 万次)。 这里来源。

特别指出:

全景对象的实例化发生在 iOS 上 GMSPanoramaView 对象。

对我来说,因为英语不是我的母语,而且我所知道的实例化概念并不是很清楚这意味着什么。 重点是,官方文档提供了几种方法(请参见

here)来移动位置并更改 GMSPanoramaView

 对象创建后显示的全景图。文档中唯一明确指出的是,通过双击或点击导航箭头移动到附近的全景图不需要付费。

关于计费,我试图了解这两者中哪一个适用:

  1. 每次创建新的GMSPanoramaView(例如

    let panoView = GMSPanoramaView(frame: .zero)

    )都会收取固定费用,并且一旦创建,将全景图移动到不同的区域并通过调用
    moveNearCoordinate()
    方法显示它是免费的(如果处理得当,基本上每次应用程序启动都会收取0.014美元的费用);

  2. 固定成本也适用于

    moveNearCoordinate()

     方法 - 因此,每次更改 
    panoramaID
    GMSPanoramaView
     属性时。

当一个人告诉我,在他的应用程序(使用 Android SDK)中,每次移动全景图时,他都要付费时,我几乎可以肯定第 1 种情况是真的。

当然,如果我问这个是因为我还无法自己测试它。谁能解释一下计费方式如何?

编辑:我发现Google提供了一些免费积分,我很快就建立了一个项目来测试它。

项目搭建如下:

  • GMSPanoramaView 对象被初始化为主

    ViewController

     的类变量 - 传递 
    .zero
     作为 
    frame
     会发出警告:

    private let streetView: GMSPanoramaView = { let pano = GMSPanoramaView(frame: CGRect(x: 0, y: 0, width: 1, height: 1)) pano.camera = GMSPanoramaCamera(heading: 0, pitch: 0, zoom: 0) return pano }()
    
    
  • 额外的设置发生在

    viewDidLoad()

    view.addSubview(streetView) streetView.move(toPanoramaID: "random_pano_id")
    
    
  • 框架设置等于

    viewDidLayoutSubviews()

    中的VC视图,因此全屏;

  • 层级顶部有一个

    UIButton

    ,每次按下它都会通过调用
    streetView.move(toPanoramaID: newID)
    来移动全景图。 
    newID
     是一个字符串变量,采用 12 个有效的硬编码街景 ID 之一的值。该过程是连续的,从第一个 ID 到第十二个,因此不会显示重复的全景图。

显然 Google 开发者控制台每 4-6 小时报告一次请求,因此我能够进行三个测试。我尝试在 iPhone 上启动该应用程序,加载所有 12 个全景图(+ 第一个全景图)而不退出该应用程序,然后在每次测试时强制退出该应用程序。这是每次测试的结果:

    4 个请求已计费;
  1. 2 个请求已计费;
  2. 2个请求计费,过程中我失去了一次连接。
这有点令人困惑,因为我预计 1 或 13 个请求会被计费。要么是地图 SDK 出了问题,我的

GMSPanoramaView

 对象以某种方式被释放并重新实例化(这不太可能,因为全景图总是显示在屏幕上),或者还有另一个我想不到的问题。

再次,如果有人能澄清发生了什么,我将不胜感激。另外,非常感谢最小化实例化/成本的技巧。

ios swift instantiation google-maps-sdk-ios
1个回答
2
投票
通过将

GMSPanoramaView

 对象声明为 
static
,我能够将每个应用程序启动的收费请求数量减少到 1 个。

© www.soinside.com 2019 - 2024. All rights reserved.