I do have one problem and it is probably my own ignorance.
Code: Select all
constructor TfrmStreetMap.Create(AOwner: TComponent; aLat, aLng, aUtc, aShortName: string);
begin
inherited Create(AOwner);
Lat := aLat;
Lng := aLng;
Utc := aUtc;
end;
procedure TfrmStreetMap.FormCreate(Sender: TObject);
begin
FDownloadIDGen := 0;
FDownloadOperation := nil;
WVBrowser1.DefaultURL :='https://www.bing.com';
// CreateMap(Sender);
end;
procedure TfrmStreetMap.FormActivate(Sender: TObject);
begin
CreateMap(Sender);
end;
procedure TfrmStreetMap.CreateMap(Sender: TObject);
begin
WVBrowser1.Navigate('about:blank');
LoadFromFileAsString('D:\DelphiProjects\D10StreetMapTicket\streetMap\StreetMap.htm');
end;
procedure TfrmStreetMap.LoadFromFileAsString(const aFileName : string);
var
TempLines : TStringList;
begin
TempLines := nil;
try
try
if (length(aFileName) > 0) and FileExists(aFileName) then
begin
TempLines := TStringList.Create;
TempLines.LoadFromFile(aFileName);
WVBrowser1.NavigateToString(TempLines.Text);
end;
except
{$IFDEF DEBUG}
on e : exception do
OutputDebugString(PWideChar('TfrmStreetMap.LoadFromFileAsString error: ' + e.message + chr(0)));
{$ENDIF}
end;
finally
if assigned(TempLines) then
FreeAndNil(TempLines);
end;
end;
Once the app is running and displaying the Bing, I can use a TEST button to call the CreateMap method and it loads perfectly. But I do not want user interaction. What even can successfully call CreateMap?\\
Code: Select all
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=yes" />
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=xxxxxxxxxxxxxxxxxxxxxxxxxxx&callback=initMap"></script>
<script type="text/javascript">
var map;
var trafficLayer;
var markersArray = [];
function initialize() {
var latlng = new google.maps.LatLng(44.714776,-82.019213);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
trafficLayer = new google.maps.TrafficLayer();
map.set("streetViewControl", false);
}
function GotoLatLng(Lat, Lng, LabelM) {
var latlng = new google.maps.LatLng(Lat,Lng);
map.setCenter(latlng);
PutMarker(Lat, Lng, LabelM);
}
function ClearMarkers() {
if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
}
}
function PutMarker(Lat, Lng, Msg) {
var latlng = new google.maps.LatLng(Lat,Lng);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: Msg+" ("+Lat+","+Lng+")"
});
markersArray.push(marker);
}
function ShowAllMarkers() {
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < markersArray.length; i++) {
bounds.extend(markersArray[i].getPosition());
}
map.fitBounds(bounds);
}
function TrafficOn() { trafficLayer.setMap(map); }
function TrafficOff() { trafficLayer.setMap(null); }
function StreetViewOn() { map.set("streetViewControl", true); }
function StreetViewOff() { map.set("streetViewControl", false); }
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>