使用Maps Engine API将数据源添加到现有层

时间:2014-06-18 21:44:23

标签: google-maps-engine

我使用Maps Engine API批量加载栅格。我的代码会将栅格作为数据源上传,但我不知道如何将该数据源添加到现有图层中。

如果我创建一个新图层,我可以指定要包含的数据源列表。我添加了很多栅格,因此我需要能够添加到已经存在的图层。

以下是我到目前为止的一段代码:

fileupload = {
"projectId": id,
"name": "Test API Upload - Name",
"description": "Test API Upload - Description",
"files": filenames,

"draftAccessList": "Map Editors",
"attribution": "Copyright My Copyright",
"tags": ["testAPIUpload"],
"maskType": "autoMask",
"rasterType": "image"
}

rasters = service.rasters()
request = rasters.upload(body=fileupload)
response = request.execute()

try:
    rasterUploadId = str(response['id'])


    for name in raster_files:
        print "Waiting for 2 seconds"
        time.sleep(2)

        try:
            freq = rasters.files().insert(id=rasterUploadId,
                                          filename=name,
                                          media_body=name)
            print "Calling insert request"
            freq.execute()
            print "Finished uploading %s" % name
        except Exception:
            print "Unable to insert '%s'" % name

except KeyError:
    print "Error uploading raster files"
    print response

现在我上传了我的栅格,如何将它们添加到已存在的图层?

谢谢,

1 个答案:

答案 0 :(得分:0)

如果您有一个现有图层并希望在发布时使用数据源更新它,那么您可以使用layer patch方法。

您需要确保包含现有数据源,因为发送带有数据源的补丁请求会将图层设置为使用这些数据源,删除未包含的任何内容。