我可以在Google地图上嵌入本地图片吗?

时间:2017-12-04 19:57:28

标签: javascript delphi google-maps-api-3

我正在利用Delphi 10 Seattle的Google Maps API。

procedure TfrmMain.FormCreate(Sender: TObject);
var
  aStream: TMemoryStream;
begin
  WebBrowser1.Navigate('about:blank');
  if Assigned(WebBrowser1.Document) then
  begin
    aStream := TMemoryStream.Create;
    try
      aStream.WriteBuffer(Pointer(HTMLStr)^, Length(HTMLStr));
      aStream.Seek(0, soFromBeginning);
      (WebBrowser1.Document as IPersistStreamInit)
        .Load(TStreamAdapter.Create(aStream));
    finally
      freeandnil(aStream);
    end;
    HTMLWindow2 := (WebBrowser1.Document as IHTMLDocument2).parentWindow;
  end;

  fContainer := TExternalContainer.Create(WebBrowser1);
end; 

这允许我使用IHtmlDocument2接口的实例对Map JS进行JavaScript调用。

procedure TfrmMain.btnStartPointClick(Sender: TObject);
begin
   HTMLWindow2.execScript(Format('EmbedImageAtLatLng(%s,%s, %s)',[edtLat.Text,edtLon.Text, edtImageName.txt]), 'JavaScript');
end;

我的客户希望我在特定地点张贴特定图片供工人使用。这可能。

注意:此图片是本地图片,不提供。它只是传入。

2 个答案:

答案 0 :(得分:0)

不是直截了当,至少据我所知。但可以做的是利用Google Drive REST API上传您的图片并将其提供给工作人员。

PS:我提到了Google云端硬盘,因此您可以使用与Google地图相同的Google帐户,但您可以使用任何其他内容管理器。

答案 1 :(得分:0)

我带着一个信息窗口。

marker.info = new google.maps.InfoWindow({    
 content: "<div class= ''map-overlay'', style = ''width:110x; height:74px''; float: left><img align=''Left'' src= ''C:/Scripts/QRCode.bmp''></div>"   
    });