- Регистрация
- 27 Апр 2015
- Сообщения
- 79
- Баллы
- 60
Всем привет! Подскажите люди добрые, не кто не делал что-то подобное, типо гугл карты, интергис, 2гис, чтоб можно было проложить маршрут через delphi?
uses
..., Google.Maps, System.UITypes;
procedure TfrmMain.Button1Click(Sender: TObject);
var
Map: TGoogleMap;
begin
Map:=TGoogleMap.Create;
try
//формат карты - 32-битный PNG
Map.MapFormat:=mfPNG32;
//вид карты - спутник
Map.MapType:=mtSatellite;
//центр карты
Map.Center.Latitude:=55.0269;
Map.Center.Longitude:=73.3029;
//добавляем одну метку
Map.Markers.Add(TMapMarker.Create(55.0269,73.3029));
Map.Markers.Last.Text:='1';
//выводим карту в TWebBrowser
WebBrowser1.Navigate2(Map.URL);
finally
Map.Free;
end;
end;
Map:=TGoogleMap.Create;
try
Map.MapFormat:=mfPNG32;
//вид карты - карта дорог
Map.MapType:=mtRoadmap;
//маркер красного цвета, нормального размера
Map.Markers.Add(TMapMarker.Create(55.0269,73.3029));
Map.Markers.Last.Color:=clRed;
Map.Markers.Last.Size:=msMid;
Map.Markers.Last.Text:='1';
//маркер зеленого цвета, нормального размера
Map.Markers.Add(TMapMarker.Create(55.0270,73.3029));
Map.Markers.Last.Color:=clGreen;
Map.Markers.Last.Size:=msMid;
Map.Markers.Last.Text:='2';
//маркер синего цвета, маленького размера (текст не отобразится)
Map.Markers.Add(TMapMarker.Create(55.0270,73.3033));
Map.Markers.Last.Color:=clBlue;
Map.Markers.Last.Size:=msSmall;
Map.Markers.Last.Text:='3';
//маркер желтого цвета, самого маленького размера (текст не отобразится)
Map.Markers.Add(TMapMarker.Create(55.0269,73.3033));
Map.Markers.Last.Color:=clYellow;
Map.Markers.Last.Size:=msTiny;
Map.Markers.Last.Text:='4';
WebBrowser1.Navigate2(Map.URL);
finally
Map.Free;
end;
Map:=TGoogleMap.Create;
try
Map.MapFormat:=mfPNG32;
Map.MapType:=mtRoadmap;
//добавляем новый путь
Map.Paths.Add(TMapPath.Create);
//значение альфа-канала (от 0 - 100% прозрачность до 255 - непрозрачная линия)
Map.Paths.Last.ColorAlpha:=255;
//цвет линии
Map.Paths.Last.Color:=TColorRec.Blue;
//толщина линии
Map.Paths.Last.Weight:=2;
//добавляем точки пути
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0269,73.3029));
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0270,73.3029));
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0270,73.3033));
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0269,73.3033));
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0269,73.3029));
WebBrowser1.Navigate2(Map.URL);
finally
Map.Free;
end;
Map:=TGoogleMap.Create;
try
Map.Scale:=2;//увеличиваем количество пикселей в 2 раза
Map.MapFormat:=mfPNG32;
//спутниковая съемка
Map.MapType:=mtSatellite;
Map.Sensor:=True;
Map.Center.Latitude:=55.0269;
Map.Center.Longitude:=73.3029;
Map.Paths.Add(TMapPath.Create);
//добавили цвет заливки
Map.Paths.Last.FillColor:=TColorRec.Yellow;
//прозрачность заливки (от 0 до 255)
Map.Paths.Last.FillAlpha:=90;
Map.Paths.Last.ColorAlpha:=255;
Map.Paths.Last.Color:=TColorRec.Blue;
Map.Paths.Last.Weight:=2;
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0269,73.3029));
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0270,73.3029));
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0270,73.3033));
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0269,73.3033));
Map.Paths.Last.PathData.Add(TMapPoint.Create(55.0269,73.3029));
WebBrowser1.Navigate2(Map.URL);
finally
Map.Free;
end;
Рад помочь+1!!Sascha, тебе тоже спасибо!
Конечно нетКак я понимаю без интернета не будет работать карта?