我对google静态地图API的新计费模型有点困惑。以前,您需要一个高级计划API来请求大于640 x 480的图像。使用新的现收现付定价模式(截至7月16日(,您是否仍然需要一个高级计划来获得更大的图像,或者我可以只启用计费并请求这些更大的图片?我启用了计费,并使用签名的url获得了2000x2000像素的图像(比例=1(,但它不起作用,因为我得到了640x480的图像。我是错过了什么,还是我仍然需要一个高级计划来实现这一点?
目前,只有高级计划用户默认拥有高分辨率2048x2048图像。新的谷歌地图平台尚未启用此功能。谷歌问题跟踪器中有一个功能请求,要求将这些图像也提供给谷歌地图平台。你可以在这里看到功能请求:
https://issuetracker.google.com/issues/110570733
请随意添加您的投票,并订阅谷歌的进一步通知。
更新
谷歌用以下语句将功能请求标记为已解决
我们现在对此问题进行了更新:将根据具体情况授予对2048x2048静态地图的访问权限。请创建一个支持案例,打开个性化的沟通渠道https://support.google.com/googleapi/contact/maps_api_tech_support
我有类似的需求,但找不到任何解决方案。因此,我创建了一个模块谷歌地图大尺寸图像,解决了从谷歌静态地图获得大尺寸高分辨率图像的问题。
以下是使用示例:
const fs = require('fs').promises;
const path = require('path');
const {LargeMap} = require('google-maps-large-size-image');
require('dotenv').config();
// initiate the LargeMap instance
const lm = new LargeMap(process.env.GOOGLE_MAPS_API_KEY, {
scale: 2,
mapType: 'terrain',
region: 'in',
style: 'feature:road|color:yellow'
});
(async () => {
const extent = [72.61, 18.76, 75.28, 21.62];
const zoom = 10;
try {
const img = await lm.getImage(extent, zoom);
await fs.writeFile(path.join(process.cwd(), '/output.jpg'), img);
} catch (err) {
console.error(err);
}
console.log('done!');
})();
链接为npm模块谷歌地图大尺寸图像。