真的,这个解决方案对于GMLib并不是必需的,因为当你(他的组件)从资源文件加载HTML映射时,你可以在代码加载到TWebBrowser之前通过代码更改这一行(你可以添加键)。
您需要在TGMMap中添加一个关键属性,并在GetBaseHTMLCode方法中考虑此属性。
要容易改变这个键,就可以通过这个其他
<script type="text/javascript" src="https://maps.google.com/maps/api/js?%ssensor=false&libraries=weather,panoramio,geometry,drawing"></script>
改变从HTML代码
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&libraries=weather,panoramio,geometry,drawing"></script>
此行,将GetBaseHTMLCode方法为这个
function TCustomGMMap.GetBaseHTMLCode: string;
var
List: TStringList;
Stream: TResourceStream;
begin
Result := '';
List := TStringList.Create;
try
try
Stream := TResourceStream.Create(HInstance, RES_MAPA_CODE, RT_RCDATA);
List.LoadFromStream(Stream);
Result := List.Text;
Result := Format(Result, [KeyProerty]); // <== add this line
finally
if Assigned(Stream) then FreeAndNil(Stream);
if Assigned(List) then FreeAndNil(List);
end;
except
raise Exception.Create(GetTranslateText('No se ha podido cargar el recurso', Language));
end;
end;
这种变化没有经过测试,但这是这个想法:-)
我把它放到我的待办事项列表本周;-)
问候
谢谢您的答复。我按照您的建议实施了Api Key设置。我将补丁文件发送到您的电子邮件,希望对您的工作有所帮助。 – user3215366
新版本上传到[Google Code](http://code.google.com/p/gmlibrary/source/checkout)存储库中, – cadetill