Geolocation: Google Maps

Developed or developing a new product in PureBasic? Tell the world about it.
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Geolocation: Google Maps

Post by JHPJHP »

-----------------------------------------------------------------------------------

Download Geolocation: Google Maps from My PureBasic Stuff

-----------------------------------------------------------------------------------

Announcements
PureBasic Interface to OpenCV
PureBasic Interface to WinDivert
PureBasic Interface to WinRAR
PureBasic Interface to 7-Zip
PureBasic Interface to ImDisk
Windows Services & Other Stuff
Invading Space Aliens
Death Star vs Asteroids
GIF Toolkit
LSB Image Steganography
Spider Web Drawing
Deform Image: MLS
Video Snipping Tool
Chromium Edge WebGadget
IAccessible Interface
Stitch Images: SIFT
OldSkool Fire Effect
Image Waves: LUT
YouTube Player & Downloader
MP4 Player & Downloader
Large Image Viewer
Barcode Generator
Google Translate Service
Embed JS into PureBasic
Geolocation: Google Maps
Book & Viewer & Magnify
Video for Windows: VfW
Alternate Console
Network Share Management

-----------------------------------------------------------------------------------

Registry is temporarily modified to access HTML5: FEATURE_BROWSER_EMULATION.

-----------------------------------------------------------------------------------

Google Maps - GET A KEY :: Google Maps API :: IP-API
- Geolocation_Directions.pb / geolocation_directions.pbi
-- show / hide directions panel
-- show directions between two locations (draggable Markers)
-- Travel Mode options (Driving, Walking, Bicycling, Transit)
- Geolocation_IP_Address.pb / geolocation_ip_address.pbi
-- execute a Geolocation by IP4 address or URL (root address)
-- Default Zoom option
-- geolocate your current IP address
- Geolocation_Split_View.pb / geolocation_split_view.pbi
-- display a map location beside the same Street View location
-- Default Zoom option
- Geolocation_Two_Points.pb / geolocation_two_points.pbi
-- map the distance between two locations
-- Default Zoom option

-----------------------------------------------------------------------------------

The following links display an image of each example:

Geolocation_Directions.pb: Display a red and green Marker.
- hovering over the Marker should show a tooltip containing the location names
- Left-Mouse-Click the Marker should show an Info-Window with additional information

Geolocation_IP_Address.pb: Display a bouncing red marker inside a blue transparent circle.
- hovering over the Marker should show a tooltip containing the locations IP address
- Left-Mouse-Click the Marker should show an Info-Window with additional information

Geolocation_Split_View.pb: Display a map location beside the Street View of the same location.
- drag the golden emoji on the map side to a new location
- click the size icon on the Street View side to toggle full-screen

Geolocation_Two_Points.pb: Display a red and green Marker.
- hovering over the Marker should show a tooltip containing the location names
- Left-Mouse-Click the Marker should show an Info-Window with additional information

-----------------------------------------------------------------------------------

Quick method to geocode an address formatted to XML posted by Mijikai.

Code: Select all

InitNetwork()
Debug PeekS(ReceiveHTTPMemory("https://maps.google.com/maps/api/geocode/xml?sensor=false&address=Toronto+ON+CA&key=XXXXXXXXXX"), -1, #PB_UTF8)
Quick method to return directions formatted to JSON.

Code: Select all

InitNetwork()
Debug PeekS(ReceiveHTTPMemory("https://maps.google.com/maps/api/directions/json?origin=Toronto&destination=Mount+Rushmore&key=XXXXXXXXXX"), -1, #PB_UTF8)
Last edited by JHPJHP on Sat Oct 16, 2021 8:59 pm, edited 114 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8206
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Re: Geolocation VIA WebGadget

Post by netmaestro »

Works well here, gets everything right.
BERESHEIT
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation VIA WebGadget

Post by JHPJHP »

Hi netmaestro,

Thank you for testing the example and leaving a comment.

-------------------------------------------------------------------------

I noticed the ValidateData Procedure had a problem with one of the Regular Expression patterns, resulting in some IP address' incorrectly being tagged as invalid.

Updated:
- fixed Regular Expression pattern
- added additional Marker information
Last edited by JHPJHP on Sat Sep 17, 2016 3:43 am, edited 1 time in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
Joris
Enthusiast
Enthusiast
Posts: 742
Joined: Fri Oct 16, 2009 10:12 am
Location: BE

Re: Geolocation VIA WebGadget

Post by Joris »

Works here too with my IP adress, but how to add another adres (url or IP) and get that blue connection-line like above ?

Thanks.
Yeah I know, but keep in mind ... Leonardo da Vinci was also an autodidact.
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation VIA WebGadget

Post by JHPJHP »

Hi Joris,

The image was misleading, so I replaced it with a more accurate visual representation of the example. This is not to say the "blue connection-line" feature you mentioned could not be included, but the current example was built static to uniquely showcase a single Geolocation.

On a similar note, multiple Markers can be added to a map with only a few changes to the SetScript Procedure:
- add additional array values: "['" + MarkerText + "'," + Longitude + "," + Latitude + "]"

Code: Select all

GeolocationData.s = #TAB$ + #TAB$ + #TAB$ + "var locations=[" + #LF$ +
                    #TAB$ + #TAB$ + #TAB$ + #TAB$ + "['" + MarkerText + "'," + Longitude + "," + Latitude + "]" + #LF$ +
                    #TAB$ + #TAB$ + #TAB$ + "];" + #LF$
Last edited by JHPJHP on Fri Sep 16, 2016 6:41 pm, edited 3 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation VIA WebGadget

Post by JHPJHP »

Updated:
- added a Default Zoom option
- various cosmetic changes

NB*: Depending on the location a high numbered zoom might best be viewed in Satellite mode.
Last edited by JHPJHP on Tue Sep 20, 2016 2:43 am, edited 3 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation VIA WebGadget

Post by JHPJHP »

Updated:
- added 1 example: Geolocation_TwoPoints.pb (geolocation_twopoints.pbi)

NB*: This example maps the distance between two locations; click the Marker to view information.
Last edited by JHPJHP on Fri Sep 16, 2016 6:38 pm, edited 2 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
Rings
Moderator
Moderator
Posts: 1403
Joined: Sat Apr 26, 2003 1:11 am

Re: Geolocation VIA WebGadget

Post by Rings »

great stuff, thx for sharing !!!!
SPAMINATOR NR.1
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation VIA WebGadget

Post by JHPJHP »

Hi Rings,

You're most welcome, and thank you for commenting.

--------------------------------------------------------------

Updated:
- added custom Markers: Geolocation_TwoPoints.pb
- added Marker animation
Last edited by JHPJHP on Sat Sep 17, 2016 8:37 pm, edited 1 time in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation VIA WebGadget

Post by JHPJHP »

Updated:
- added 1 example: Geolocation_Directions.pb (geolocation_directions.pbi)

NB*: This example shows directions between two locations (various Travel Modes); includes draggable Markers.
Last edited by JHPJHP on Sat Sep 17, 2016 5:48 pm, edited 1 time in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
GoodNPlenty
User
User
Posts: 89
Joined: Wed May 13, 2009 8:38 am
Location: Arizona, USA

Re: Geolocation VIA WebGadget

Post by GoodNPlenty »

Very Nice! Thank You for sharing.
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation via WebGadget

Post by JHPJHP »

Hi GoodNPlenty,

You're welcome, thank you for commenting.

-----------------------------------------------------------

Updated:
- corrected latitude / longitude order
- added a Marker circle: Geolocation.pb
- changed units from miles to kilometers: Geolocation_Directions.pb
- changed Marker distance from meters to kilometers: Geolocation_TwoPoints.pb
- added location and elevation data to the Marker popup window: Geolocation_TwoPoints.pb

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation via WebGadget

Post by JHPJHP »

Updated:
- added 2 OSX examples (modified from the Windows examples)
-- Geolocation_Directions_OSX.pb
--- show directions between two locations (draggable Markers)
--- Travel Mode options (Driving, Walking, Bicycling, Transit)
-- Geolocation_TwoPoints_OSX.pb
--- map the distance between two locations
--- Default Zoom option

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1851
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: Geolocation via WebGadget

Post by JHPJHP »

Updated:
- added 1 OSX example (modified from the Windows example)
-- Geolocation_OSX.pb
--- execute a Geolocation by IP4 address or URL (root address)
--- Default Zoom option
--- geolocate your current IP address

The following two posts were helpful in getting the OSX examples working:
- [ wilbert ] :: http://www.purebasic.fr/english/viewtop ... 30#p494430
- [ rodego ] :: http://purebasic.fr/english/viewtopic.p ... 42#p343542

Image

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
uweb
User
User
Posts: 98
Joined: Wed Mar 15, 2006 9:40 am
Location: Germany

Re: Geolocation via WebGadget

Post by uweb »

Thank You for sharing.
But in Geolocation_Directions and Geolocation I see only the Toolbar. The rest keeps white.
Tested with Win7 x64 and PB 5.42 and 5.50 as x86 and x64. There are no error messages.
Any hints?
Please pardon my English, my native tongue is German.
Post Reply