0

我正在创建一个类似于 Google Street View 的平台,用户可以在其中单击地图并打开路段的图片。与谷歌街不同,图像不是连续的,用户应该点击地图上显示的小点。当用户单击地图上的一个点时,应该会弹出一个图像,然后他们应该能够通过单击 NEXT 或 BACK 按钮来回导航以查看道路的其他部分。

所有图片都将上传到 Google Drive。我需要的只是每张图片的链接,以将其连接到我的 GIS 系统。按照Google Drive API Guide,我能够检索图像 ID 并共享超链接。但是,一旦创建了共享链接,每个图像都是独立的,用户无法滚动浏览图像,这意味着当他们单击这些超链接时没有 NEXT 或 BACK 按钮。无论如何要共享每个图像,但用户滚动浏览该文件夹中包含的其他图像?换句话说,在 Google Drive 中共享图像时,我希望我的客户可以访问文件夹中的其他图像。这是一个例子:

使用此图像,用户可以滚动并导航到下一个图像

*注意:两端的“>”和“<”符号表示来回导航的能力

但是当它被共享时,用户无法滚动并导航到下一个图像

一些附加说明:可以与他们共享驱动程序文件夹。超链接显示在 ArcGIS Online 中。我需要每个图像的超链接。一旦客户端单击特定的超链接,应该会弹出图像(但我希望它们能够向前移动而无需再次单击超链接)。我是一名 Python 程序员,所以理想情况下我想用 Python 编写代码。

def main(credentials=creds, q, size, *scopes):
    SCOPES = [scope for scope in scopes[0]]
    service = build('drive', 'v3', credentials=creds)
    results = service.files().list(q=query,
        pageSize=size, fields="nextPageToken, files(id, name)").execute()
    items = results.get('files', [])
    nextPageToken = results.get('nextPageToken')
    df = pd.DataFrame.from_dict(items)
    
    return df

if __name__ == '__main__':
    
    cred= 'credentials_Drive.json'
    SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly']
    df = main(credentials=creds, q="", size=1000, *scopes)
    ## I then use the ID to share the files 
    

4

1 回答 1

0

由于您通过获取每个图像的链接来独立访问图像,因此访问该链接将仅访问该特定图像。

这归结为您如何使用能够使用 API 获取的文件。

您将需要创建自己的图像查看器以使用您获得的链接查看这些图像。如果可以选择,您可以使用 TKinter。

参考:

于 2021-08-23T17:36:38.470 回答