2017-12-04 16 views
0

저는 Delphi 10 Seattle에서 Google Maps API를 이용하고 있습니다.Google지도에 로컬 이미지를 포함 할 수 있습니까?

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 인터페이스의 인스턴스를 사용하여 JavaScript JS를 호출 할 수 있습니다.

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

내 고객은 특정 위치에 특정 이미지를 게시하여 직원이 사용하기를 바랍니다. 이것이 가능한가.

참고 :이 이미지는 로컬 이미지이며 제공되지 않습니다. 그것은 단순히 전달됩니다.

답변

0

적어도 제 지식은 이해할 수 없습니다. 그러나 당신이 무엇 수 있습니다 할 귀하의 이미지를 업로드하고 근로자가 사용할 수 있도록 Google Drive REST API을 사용합니다.

추신 : Google 드라이브와 동일한 Google 계정을 사용하도록 언급했지만 다른 콘텐츠 관리자를 사용할 수도 있습니다.

+0

사실 저는 bmp를 곧바로 통과 할 수있었습니다. 방금 약간의 마사지를 받았다. 감사합니다. –

+0

좋은 @MetaMussel입니다. 솔루션을 공유 하시겠습니까? 최소한 GMaps에 이미지를 "주입"하는 부분. 원본 이미지로 base64 인코딩 이미지를 설정하는 [맞춤 오버레이 추가] (https://developers.google.com/maps/documentation/javascript/examples/overlay-simple)를 시도했습니다. 다른 옵션도 시도해 보았는데, 모두 URI 대신 base64로 enconded 이미지를 구현했습니다. 하지만 base64로 인코딩 된 이미지의 크기가 원래 크기와 비교하여 30 % 이상으로 커지는 것을 좋아하지 않습니다. –

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>" 
    });