(20-05-2023, Saat: 17:03)mrmarman Adlı Kullanıcıdan Alıntı: Yine başa döndük. verdiğim örnek buna ilişkin Google'dan basit bir sorgu ile adresten Lat / Lon koordinatları çekip işe öyle başlayacaksınız.
Haa. ben kurumda Naklen Yayın araçlarının konumlandırılması için benzer bir yapıyı şöyle kurdum. Türkiye İl İlçe GPS koordinat bankası buldum netten, onu veritabanına aldım. İl / İlçe seçince hemen koordinat çıkıyor oradan sonra detaya gidiyorum.
bkz. GithubLinki
Sana şöyle bir test kodu hazırladım. Google Maps'in ne şekilde ilçeyi çevrelediğini inceledim. Koordinatı girip yanında konum adını verdiğinde odaklanıp place adı tutuyorsa sınırlarını çizdiğini gördüm.
En azında il / ilçe bazında koordinat alırsın eğer browse edilirse ilçe'nin etrafının çevrelendiği bir harita da gösterebilirsin.
uses System.Net.HttpClientComponent; Type tLocation = record Latitude, Longitude, LZoom : String; end; function GetGeoLoc( aSehir, aIlce: WideString ): tLocation; const SearchFormat = 'https://www.google.com/maps/place/%s,%s'; var aUrl : String; aClient : TNetHTTPClient; sResponse : TStringStream; aSrc : String; LStat : Integer; strBlok : String; begin Result := default(tLocation); strBlok := ''; aUrl := Format( SearchFormat, [ aSehir, aIlce ] ); aClient := TNetHTTPClient.Create(nil); try aClient.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'; // 'Dalvik/2.1.0 (Linux; U; Android 8.0.0; SM-N950F Build/R16NW)'; aClient.Accept := 'text/html'; sResponse := TStringStream.Create( '', TEncoding.UTF8 ); try LStat := aClient.Get( aUrl, sResponse ).StatusCode; if LStat = 200 then begin sResponse.SaveToFile( ExtractFilePath(paramStr(0)) + 'gelen.html' ); strBlok := sResponse.DataString; end; finally FreeAndNil(sResponse); end; // Parse Section // ------------------------------------------------------------------------ // aSrc := 'https://www.google.com/maps/preview/place/'; if Pos(aSrc, strBlok) > 0 then begin System.Delete( strBlok, 1, Pos(aSrc, strBlok) -1 ); aSrc := '@'; if Pos(aSrc, strBlok) > 0 then begin System.Delete( strBlok, 1, Pos(aSrc, strBlok) ); Result.Latitude := Copy(strBlok, 1, Pos(',', strBlok)-1); System.Delete( strBlok, 1, Pos(',', strBlok) ); Result.Longitude := Copy(strBlok, 1, Pos(',', strBlok)-1); Result.LZoom := 'z10'; end; end; finally FreeAndNil(aClient); end; end; procedure TForm1.BitBtn1Click(Sender: TObject); var LUrl : String; begin With GetGeoLoc( Edit1.Text, Edit2.Text ) do LUrl := Format('https://www.google.com/maps/place/%s,%s/@%s%%2F%s,%s', [Edit1.Text, Edit2.Text, Latitude, Longitude, LZoom]); Memo1.Lines.Add( LUrl ); end; procedure TForm1.FormCreate(Sender: TObject); begin Edit1.Text := 'Ankara'; Edit2.Text := 'Mamak'; end;
Hocam çok saolun elinize sağlık
Bu googleden ve diğer web sitelerinden sorgu işlemlerinde iyi değilim ama örnek kodlarınız üzerinden giderek inş kendimi geliştireceğim. Tekrardan çok teşekkür ederim.
Hocam bu arada alttaki linki inceledim birisi aklımdan geçeni zaten yapmıs il ilçe kordinat almış ve listelemiş


