Hello
I would like to read the compass into my iPhone, now there is an example in NS Basic App Studio, unfortunately the original example program does not work because it is probably out of date. Can someone help me how I can read the compass value 0-360° in Basic under IOS 15?
Kind regards, Marcus
iOS now requires the user to give permission before the compass functions can be used.
To add this, do the following:
-
Add a new button to your screen called btnCompass. Title it “Allow Compass Use”.
-
Add this code to your app:
Function btnCompass_onclick()
DeviceMotionEvent.requestPermission()
End Function
The compass heading will now show and be updated.
We have added this to the sample in the next build of AS9.
Thank you very much, now at least it works on Apple iPhone, if I also need it on an Android, do I just leave out the line or is there another call?
Yes, there is a different call on Android. The sample has this comment:
// This sample works On iOS only.
// A solution For Android is here:
// http://stackoverflow.com/questions/16048514/can-i-use-JavaScript-To-get-the-Compass-heading-For-ios-And-android
Yes, thanks, I read that, unfortunately the code is in Java and as a beginner I have problems translating Java into Basic. I probably only need a single function to get an angle in degrees on Android.
Here’s a more recent article:
You can include JavaScript code in your BASIC app as follows:
'BASIC code...
JavaScript
// JavaScript code...
End JavaScript
`more BASIC code...
Now I copied the code into Hello World, unfortunately without success.
Function Button1_onclick()
MsgBox "Thanks for clicking!"
End Function
JavaScript
' JavaScript code...
TrackOrientation() {
'// starts tracking on deviceready, updates value on currentCompass$ (fallback for ios13+ at "compassPremissioniOS13" funtion)
if (typeof DeviceOrientationEvent['requestPermission'] !== 'function') {
const deviceOrientationLestener = (event) => {
if (this.globals.iphone) {
this.currentCompass$.next(event['webkitCompassHeading']);
} else {
if (event.absolute) {
this.currentCompass$.next(360 - event.alpha);
} else {
window.removeEventListener('deviceorientation', deviceOrientationLestener);
window.addEventListener('deviceorientationabsolute', (eventB) => {
this.currentCompass$.next(360 - eventB['alpha']);
}, true);
}
}
};
window.addEventListener('deviceorientation', deviceOrientationLestener);
}
}
End JavaScript
This StackOverflow article has a different approach. It’s linked from the previous SO article referenced above.
Here are some docs from MDN which may help.
Window: deviceorientationabsolute event
Window: deviceorientation event
Here’s how this could work, translated to BASIC:
' For Android
window.addEventListener("deviceorientationabsolute", getOrientation, True);
Function getOrientation(event)
compassbearing = Number(360 - event.alpha).toFixed(1);
console.log(event);
End Function
Here’s a improvement to the code to request permission on iOS. It checks to see if the permission function exists before calling it:
Function btnCompass_onclick()
If typeof(DeviceMotionEvent.requestPermission) <> "undefined" Then
DeviceMotionEvent.requestPermission()
End If
End Function
Thanks for the tip, I’ve already solved this problem in another way, by asking whether it’s an Apple browser, that should work too, but I haven’t gotten any further with the Android compass querying the angle.
´´´
If Left(navigator.vendor,5)=“Apple” Then Button1.disabled = False
´´´
I just tested the Android Compass, it works great, thank you very much.
Now value the variable compassbearing. I don’t quite understand what the command console.log(event) does yet.
Thank you again
Marcuse
Can you post the whole code that worked for you so we can all benefit?
Or just zip up the whole Hello World that you used?
Thanks very much,
Paul
Here’s the AppStudio Wiki entry on the console statement.
Briefly, it outputs text to the browse console.
Yes, with pleasure, unfortunately I don’t really know where to put it yet, is there an extra area?
So far I have only seen a few source code programs from other users. Is there an area?
Yesterday evening I looked at the tutorials on you tube, unfortunately there are only very few and some of them are almost 10 years old. There is nothing current, or am I looking in the wrong way?
In other forums everyone can upload their program and you can then optimize it together.
I think there will not be much code so I think you could post it here. Just remember to put those three little tick marks around the code: (upper left corner of your keyboard)
code
To attach a zip file, I think all you have to do is drag and drop the file here.
I have written a small program for Amateur Radio operators here.
It’s my first program in NS Basic App Studio
The program runs on Android and Apple.
It gets the current GPS data and converts it into the Meadenhead Locator that is common for amateur radio operators. This representation consists of 2 letters + 2 numbers + 2 letters, my program is even more precise and also shows the nanofields (approx. 30mX30m)
It also calculates the distance between 2 locators and the direction in which the 2 locators are located.
The program consists of demo parts and calculations and is far from finished.
The display on different devices still needs to be improved. I would also like to activate the 2nd shape when I turn my cell phone and display the 2 locators on a map, maybe someone can help me…
The program also evaluates the first 4 characters (call suffix) of an amateur radio call sign and names the country in which the amateur radio operator is located.
' V10 geändert nun noch Kompass eingefügt und Richtung unter IOS
' Optimierung
' mit Android Kompass
' Set up global variables
Dim gps:Dim Wheel:Dim Z(9):Dim Toggle:Dim Toggle2:Dim Toggle3
Dim STX:Dim lg:Dim bg:Dim LZ:Dim lg0:Dim bg0
'Locator REV
Dim Z2(9):Dim Loc_REV:Dim I:Dim bg2:Dim lg2
Dim dlat:Dim dlon:Dim a:Dim C
'kompass
Dim pos="0"
Dim pos_a=0
Dim POS2
'Anfang Richtung
Dim Grad
Dim HL ' Home Locator Länge (-14)
Dim HB 'Home Locator Breite
Dim LL 'Locator Länge
Dim LB 'Locator Breite
Dim DIST 'Entfernung
Dim Winkel 'Winkel Ausgabe
Dim BOG 'Bogenmass
BOG = Math.PI/180
Dim Apple
'Ende Richtung
Dim Land
Dim X
Dim RUF
Dim timerRef
Sub Main()
longitude = -79.20989561
latitude = 43.73768353
lastRefresh=0
Wheel=0
Image2.Visible = False:Label2.Visible = False
Label5.Visible = False
'neu
'This starts scanning the current location. It checks it every 5 seconds.
'If it gets the data successfully, the handler function is called.
'If not, errorCallBack is called.
options={timeout: 5000, maximumAge: 5000, enableHighAccuracy: True}
gps=navigator.geolocation.watchPosition(onGeolocation, errorCallBack, options)
'disable the stop button, enable the start button
' btnStart.disabled=True
btnStop.disabled=False
'bis hier
If Left(navigator.vendor,5)="Apple" Then
Apple = True
Button1.disabled = False 'Abfrage ob es ein Apple ist
Else
window.addEventListener("deviceorientationabsolute", getOrientation, True);
Apple = False
Button1.disabled = False
End If
End Sub
Function errorCallBack(Error)
'unable to get the geolocation data
'MsgBox Error.message
End Function
Function ButtonCopy_onclick()
'Copy Button
Input2.value = Input1.value
Input4.value = Input3.value
End Function
Function btnStop_onclick() 'GPS Button
Toggle = Not Toggle
If Toggle = True Then
btnStop.value ="Start GPS"
navigator.geolocation.clearWatch(gps)
Label2.textContent =" "
STX=""
Textarea1.value = STX
Image1.Visible = False
End If
If Toggle = False Then
btnStop.value ="Stop GPS"
options={timeout: 5000, maximumAge: 5000, enableHighAccuracy: True}
gps=navigator.geolocation.watchPosition(onGeolocation, errorCallBack, options)
Image1.Visible = True
End If
End Function
Function onGeolocation(location)
lg = location.coords.longitude
bg = location.coords.latitude
'Übergabe des aktuellen Wertes für die Entfernugsberechnung
lg0 = lg
bg0 = bg
If IsNumeric(location.timestamp) Then
gpsDate=new Date(location.timestamp)
Else
gpsDate=location.timestamp
End If
'Textarea1.value = s & "Timestamp: " + gpsDate
STX = "Längengrad: "& Int(lg*100000)/100000 & "°" & vbCRLF & "Breitengrad: "& Int(bg*100000)/100000 &"°"& vbCRLF
STX = STX & "Geschwindigkeit: " & Int((location.coords.speed *3.6)*100)/100 & " km/h" & vbCRLF
STX = STX & "Höhe: " & Int(location.coords.altitude*100)/100 & " m" & vbCRLF
Textarea1.value = STX
drehen()
Meadenhead_zu_LB
LG_ZU_MEADENHEAD
Entfernung
End Function
Sub Meadenhead_zu_LB
'Konvertiere längen und Breitengrad zum 10 stelligen Meadenhead Locator
' Berechne Längengrad
LZ = Int((lg + 180) / 20)
Z(0) = Chr(LZ + 65)
lg = lg - LZ * 20
LZ = Int((lg + 180) / 2)
Z(2) = CStr(LZ)
lg = lg - LZ * 2
LZ = Int((lg + 180) / (5 / 60))
Z(4) = Chr(LZ + 97)
lg = lg - LZ * (5 / 60)
' Berechne Microgrid
LZ = Int((lg + 180) / (1 / 120))
Z(6) = CStr(LZ)
lg = lg - LZ * (1 / 120)
' Berechne Nanofelder Längengrad LZ darf nur zwischen 1...24 sein
LZ = Int((lg + 180) / (1 / 2880))
Z(8) = Chr(LZ + 97)
'**********************************************
' Berechne Breitengrad
LZ = Int((bg + 90) / 10)
Z(1) = Chr(LZ + 65)
bg = bg - LZ * 10
LZ = Int((bg + 90) / 1)
Z(3) = CStr(LZ)
bg = bg - LZ
LZ = Int((bg + 90) / (2.5 / 60))
Z(5) = Chr(LZ + 97)
bg = bg - LZ * (2.5 / 60)
' Berechne Microgrid
LZ = Int((bg + 90) / (0.5 / 120))
Z(7) = CStr(LZ)
bg = bg - LZ * (0.5 / 120)
' Berechne Nanofelder Längengrad LZ darf nur zwischen 1...24 sein + Ascii von a
LZ = Int((bg + 90) / (0.5 / 2880))
Z(9) = Chr(LZ + 97)
' Assemble the Maidenhead Locator
Input1.value = Z(0) & Z(1) & Z(2) & Z(3) & Z(4) & Z(5)
Input3.value = Z(6) & Z(7) & Z(8) & Z(9)
End Sub
'--------------------------------------------------------------------------------------------------
Sub LG_ZU_MEADENHEAD
'Rechne Meadenhead Locator in Längen und Breitengrad um
Loc_REV = UCase(Input2.value +Input4.value)
For I = 0 To 9
Z(I) = Mid(Loc_REV, I+1, 1)
Next I
'Label1.value = Z(0)+Z(1)+Z(2)+Z(3)+Z(4)+Z(5)+Z(6)+Z(7)
If Asc(Z(0)) < Asc("A") Or Asc(Z(0)) > Asc("R") Then Exit Sub
If Asc(Z(1)) < Asc("A") Or Asc(Z(1)) > Asc("R") Then Exit Sub
If Asc(Z(2)) < Asc("0") Or Asc(Z(2)) > Asc("9") Then Exit Sub
If Asc(Z(3)) < Asc("0") Or Asc(Z(3)) > Asc("9") Then Exit Sub
If Asc(Z(4)) < Asc("A") Or Asc(Z(4)) > Asc("X") Then Exit Sub
If Asc(Z(5)) < Asc("A") Or Asc(Z(5)) > Asc("X") Then Exit Sub
If Asc(Z(6)) < Asc("0") Or Asc(Z(6)) > Asc("9") Then Exit Sub
If Asc(Z(7)) < Asc("0") Or Asc(Z(7)) > Asc("9") Then Exit Sub
If Asc(Z(8)) < Asc("A") Or Asc(Z(8)) > Asc("X") Then Exit Sub
If Asc(Z(9)) < Asc("A") Or Asc(Z(9)) > Asc("X") Then Exit Sub
lg2 = -180
bg2 = -90
' Berechnung Längengrad
lg2 = lg2 + (Asc(Z(0)) - 65) * 20
lg2 = lg2 + Number(Z(2)) * 2
lg2 = lg2 + (Asc(Z(4)) - 65) * (5 / 60)
lg2 = lg2 + Number(Z(6)) * (1 / 120)
lg2 = lg2 + (Asc(Z(8)) - 65) * (1 / 2880)
'Berechnung Breitengrad
bg2 = bg2 + (Asc(Z(1)) - 65) * 10
If Asc(Z(1)) < Asc("I") Then
bg2 = bg2 - Number(Z(3))
Else
bg2 = bg2 + Number(Z(3))
End If
bg2 = bg2 + (Asc(Z(5)) - 65) * (2.5 / 60)
bg2 = bg2 + Number(Z(7)) * (0.5 / 120)
bg2 = bg2 + (Asc(Z(9)) - 65) * (0.5 / 2880)
'Label1.value = "Länge " & lg0 " breite: " & bg0
End Sub
'----------------------------------------------------------------------------------
Sub Entfernung
'Berechnung Entfernung
dlat = (bg2 - bg0) * (BOG)
dlon = (lg2 - lg0) * (BOG)
a = Sin(dlat / 2) * Sin(dlat / 2) + Cos(bg0 * (BOG)) * Cos(bg2 * (BOG)) * Sin(dlon / 2) * Sin(dlon / 2)
C = 2 * Atn(Sqr(a / (1 - a)))
'Winkelberechnung
HL = lg0 'Home Locator Längengrad
HB = bg0 'Home Locator Breitengrad
LL = lg2 'Längengrad Locator 2
LB = bg2 'Breitengrad Locator 2
DIST = Int(6371.299 * C * 1000) / 1000 'Entfernung
Winkel = Abs(360*(((LL-HL)-Abs(LL-HL))/(LL-HL)/2)-Math.acos((Cos((90-LB)*BOG)- Cos(DIST* 360/2/6371000.299/Math.PI*1000*BOG)* Cos((90-HB)*BOG)) /Sin(DIST*360/2/6371000.299/Math.PI*1000*BOG)/ Sin((90-HB)*BOG))*180/Math.PI)
Winkel= Int(Winkel*10)/10
If Input2.value = Input1.value And Input4.value = Input3.value Then
Label1.value = "Entfernung: 0.000 km"
Label3.value =""
Else
Label1.value = "Entfernung: "& String(Int(6371.299 * C * 1000) / 1000) + " km"
Label3.value = "Richtung: " + Winkel + "°"
End If
End Sub
Sub drehen()
Wheel = Wheel + 30
If Wheel>=360 Then Wheel=0
Image1.style.webkitTransform="rotate(" & Wheel & "deg)"
End Sub
Function Button1_onclick()
Toggle2 = Not Toggle2
If Toggle2 = True Then Compass_off
If Toggle2 = False Then Compass_on
End Function
Sub Compass_on
Button1.value = "Compass on"
Image2.Visible = False
Label2.Visible = False
End Sub
Sub Compass_off
Button1.value = "Compass off"
If Apple = True Then DeviceMotionEvent.requestPermission() 'für Apple neu
Input6.fadeOut(0)
Label5.Visible =False
Image2.Visible = True
Label2.Visible =True
End Sub
Function Button3_onclick()' Call Suffix button
Toggle3= Not Toggle3
If Toggle3 = True Then Suffix_on
If Toggle3 = False Then Suffix_off
End Function
Sub Suffix_on
Button3.value ="Suffix off"
Compass_on
Toggle2 = False
Input6.fadeIn(0)
Label5.Visible=True
timerRef = SetInterval(nextAction, 500)
End Sub
Sub Suffix_off
Button3.value ="Suffix on"
Input6.fadeOut(0)
Label5.Visible=False
timerRef = ClearInterval
End Sub
'--------------------------------------------------------------------------------
Function getOrientation(event)
pos_a = Winkel
pos = Number(360 - event.alpha).toFixed(1);
POS2 = pos - pos_a
If POS2<0 Then POS2=POS2+359
If POS2>359 Then POS2=POS2-359
Label2.text = "Richtung "+Int(pos)+"°"
Image2.style.webkitTransform="rotate(" & POS2 & "deg)"
Image2.style.webkitTransform="rotate(-" & POS2 & "deg)"
''console.log(event);
End Function
'--------------------------------------------------------------------
Function window_ondeviceorientation(e)
' Label1.text=e.webkitCompassHeading
' If Label1.text="undefined" Then
' Label1.text="Compass not supported"
' Image2.Visible = False
' Label2.Visible = False
' Button1.Visible= False
' Else
' Label1.text=""
' End If
pos_a = Winkel
pos = e.webkitCompassHeading
POS2 = pos - pos_a
If POS2<0 Then POS2=POS2+359
If POS2>359 Then POS2=POS2-359
Label2.text = "Richtung "+Int(pos)+"°"
Image2.style.webkitTransform="rotate(" & POS2 & "deg)"
Image2.style.webkitTransform="rotate(-" & POS2 & "deg)"
End Function
'---------------------------------------------------------
Function nextAction()
RUF= UCase(Input6.value)
Land = ""
X = Left(RUF , 1)
If X = "I" Then Land = "Italien"
If X = "F" Then Land = "Frankreich"
If X = "B" Then Land = "China"
If X = "G" Or X = "M" Or X = "2" Then Land = "Ver.Königreich"
If X = "R" Then Land = "Russland"
If X = "K" Or X = "N" Or X = "W" Then Land = "USA"
X = Left(RUF , 2)
If X = "AA" Or X = "AB" Or X = "AC" Or X = "AD" Or X = "AE" Or X = "AF" Or X = "AG" Or X = "AH" Or X = "AI" Or X = "AJ" Or X = "AK" Or X = "AL" Then Land = "USA"
If X = "AM" Or X = "AN" Or X = "AO" Or X = "EA" Or X = "EB" Or X = "EC" Or X = "ED" Or X = "EE" Or X = "EG" Or X = "EH" Then Land = "Spanien"
If X = "AP" Or X = "AQ" Or X = "AR" Or X = "AS" Or X = "6P" Or X = "6Q" Or X = "6R" Or X = "6S" Then Land = "Pakistan"
If X = "AT" Or X = "AU" Or X = "AV" Or X = "AW" Or X = "VT" Or X = "VU" Or X = "VV" Or X = "VW" Or X = "8T" Or X = "8U" Or X = "8V" Or X = "8W" Or X = "8X" Or X = "8Y" Then Land = "Indien"
If X = "AX" Or X = "VH" Or X = "VI" Or X = "VJ" Or X = "VK" Or X = "VL" Or X = "VL" Or X = "VN" Or X = "VZ" Then Land = "Australien"
If X = "AY" Or X = "AZ" Or X = "L2" Or X = "L3" Or X = "L4" Or X = "L5" Or X = "L6" Or X = "L7" Or X = "L8" Or X = "L9" Then Land = "Argentinien"
If X = "LO" Or X = "LP" Or X = "LQ" Or X = "LR" Or X = "LS" Or X = "LT" Or X = "LU" Or X = "LV" Or X = "LW" Then Land = "Argentinien"
If X = "A2" Or X = "80" Then Land = "Botswana"
If X = "A3" Then Land = "Tonga"
If X = "A4" Then Land = "Oman"
If X = "A5" Then Land = "Bhutan"
If X = "A6" Then Land = "Ver.Arab.Emirate"
If X = "A7" Then Land = "Katar"
If X = "A8" Or X = "D5" Or X = "EL" Or X = "5L" Or X = "5M" Then Land = "Liberia"
If X = "A9" Then Land = "Bahrein"
If X = "XS" Or X = "3H" Or X = "3I" Or X = "3J" Or X = "3K" Or X = "3L" Or X = "3M" Or X = "3N" Or X = "3O" Then Land = "China"
If X = "3P" Or X = "3Q" Or X = "3R" Or X = "3S" Or X = "3T" Or X = "3U" Then Land = "China"
If X = "BM" Or X = "BN" Or X = "BO" Or X = "BP" Or X = "BQ" Or X = "BU" Or X = "BV" Or X = "BW" Or X = "BX" Then Land = "Taiwan"
If X = "CA" Or X = "CB" Or X = "CC" Or X = "CD" Or X = "CE" Or X = "XQ" Or X = "XR" Or X = "3G" Then Land = "Chile"
If X = "CF" Or X = "CG" Or X = "CH" Or X = "CI" Or X = "CJ" Or X = "CK" Or X = "CY" Or X = "CZ" Or X = "VA" Then Land = "Kanada"
If X = "VB" Or X = "VC" Or X = "VD" Or X = "VE" Or X = "VF" Or X = "VG" Or X = "VO" Or X = "VX" Or X = "VY" Then Land = "Kanada"
If X = "XJ" Or X = "XK" Or X = "XL" Or X = "XM" Or X = "XN" Or X = "XO" Then Land = "Kanada"""
If X = "CN" Or X = "5C" Or X = "5D" Or X = "5E" Or X = "5F" Or X = "5G" Then Land = "Marokko"
If X = "CP" Then Land = "Bolivien"
If X = "CQ" Or X = "CR" Or X = "CS" Or X = "CT" Or X = "CU" Then Land = "Portugal"
If X = "CV" Or X = "CW" Or X = "CX" Then Land = "Uruguay"
If X = "C2" Then Land = "Nauru"
If X = "C3" Then Land = "Andorra"
If X = "C5" Then Land = "Gambia"
If X = "C6" Then Land = "Bahamas"
If X = "C8" Or X = "C9" Then Land = "Mosambik"
If X = "DA" Or X = "DB" Or X = "DC" Or X = "DD" Or X = "DE" Or X = "DF" Or X = "DG" Or X = "DH" Or X = "DI" Or X = "DJ" Or X = "DK" Or X = "DL" Or X = "DM" Or X = "DN" Then Land = "Deutschland"
If X = "DO" Or X = "DP" Or X = "DQ" Or X = "DR" Or X = "Y2" Or X = "Y3" Or X = "Y4" Or X = "Y5" Or X = "Y6" Or X = "Y7" Or X = "Y8" Or X = "Y9" Then Land = "Deutschland"
If X = "DS" Or X = "DT" Or X = "D7" Or X = "D8" Or X = "D9" Or X = "HL" Or X = "6K" Or X = "6L" Or X = "6M" Or X = "6N" Then Land = "Südkorea"
If X = "DU" Or X = "DV" Or X = "DW" Or X = "DX" Or X = "DY" Or X = "DZ" Or X = "4D" Or X = "4E" Or X = "4F" Or X = "4G" Or X = "4H" Or X = "4I" Then Land = "Philippinen"
If X = "D2" Or X = "D3" Then Land = "Angola"
If X = "D4" Then Land = "Kap Verde"
If X = "D6" Then Land = "Komoren"
If X = "EI" Or X = "EJ" Then Land = "Irland"
If X = "EK" Then Land = "Armenien"
If X = "EP" Or X = "EQ" Or X = "9B" Or X = "9C" Or X = "9D" Then Land = "Iran"
If X = "ER" Then Land = "Moldawien"
If X = "ES" Then Land = "Estland"
If X = "ET" Then Land = "Äthiopien"
If X = "EU" Or X = "EV" Or X = "EW" Then Land = "Belarus"
If X = "EX" Then Land = "Kirgisistan"
If X = "EY" Then Land = "Tadschikistan"
If X = "EZ" Then Land = "Turkmenistan"
If X = "E3" Then Land = "Eritrea"
If X = "E4" Then Land = "Palestina"
If X = "E5" Then Land = "Cookinseln"
If X = "E7" Then Land = "Bosnien"
If X = "HW" Or X = "HX" Or X = "HY" Or X = "TH" Or X = "TK" Or X = "TM" Or X = "TV" Or X = "TW" Then Land = "Frankreich"
If X = "TX" Or X = "TO" Or X = "TP" Or X = "TQ" Then Land = "Frankreich"
If X = "VP" Or X = "VQ" Or X = "VS" Or X = "ZB" Or X = "ZC" Or X = "ZD" Or X = "ZE" Or X = "ZF" Then Land = "Ver.Königreich"
If X = "ZG" Or X = "ZH" Or X = "ZI" Or X = "ZJ" Or X = "ZN" Or X = "ZO" Or X = "ZQ" Then Land = "Ver.Königreich"
If X = "HA" Or X = "HG" Then Land = "Ungarn"
If X = "HB" Or X = "HE" Then Land = "Schweiz"
If X = "HC" Or X = "HD" Then Land = "Ecuador"
If X = "HF" Or X = "SN" Or X = "SO" Or X = "SP" Or X = "SQ" Or X = "SR" Or X = "3Z" Then Land = "Polen"
If X = "HH" Or X = "4V" Then Land = "Haiti"
If X = "HI" Then Land = "Dominik.Repu."
If X = "HJ" Or X = "HK" Or X = "5J" Or X = "5K" Then Land = "Kolumbien"
If X = "HM" Or X = "P5" Or X = "P6" Or X = "P7" Or X = "P8" Or X = "P9" Then Land = "Nordkorea"
If X = "HN" Or X = "YI" Then Land = "Irak"
If X = "HO" Or X = "HP" Or X = "H3" Or X = "H8" Or X = "H9" Or X = "3E" Or X = "3F" Then Land = "Panama"
If X = "HQ" Or X = "HR" Then Land = "Honduras"
If X = "HS" Or X = "E2" Then Land = "Thailand"
If X = "HT" Or X = "H6" Or X = "H7" Or X = "YN" Then Land = "Nicaragua"
If X = "HU" Or X = "YS" Then Land = "Salvador"
If X = "HV" Then Land = "Vatikan"
If X = "HZ" Or X = "7Z" Or X = "8Z" Then Land = "Saudi Arabien"
If X = "H2" Or X = "C4" Or X = "P3" Or X = "5B" Then Land = "Rep. Zypern"
If X = "H4" Then Land = "Salomonen"
If X = "JA" Or X = "JB" Or X = "JC" Or X = "JD" Or X = "JE" Or X = "JF" Or X = "JG" Or X = "JH" Or X = "JI" Or X = "JJ" Or X = "JK" Or X = "JL" Then Land = "Japan"
If X = "JM" Or X = "JN" Or X = "JO" Or X = "JP" Or X = "JQ" Or X = "JR" Or X = "JS" Or X = "7J" Or X = "7K" Or X = "7L" Or X = "7M" Or X = "7N" Then Land = "Japan"
If X = "8J" Or X = "8K" Or X = "8L" Or X = "8M" Or X = "8N" Then Land = "Japan"
If X = "JT" Or X = "JU" Or X = "JV" Then Land = "Mongolei"
If X = "JW" Or X = "JX" Or X = "LA" Or X = "LB" Or X = "LC" Or X = "LD" Or X = "LE" Or X = "LF" Or X = "LG" Or X = "LH" Then Land = "Norwegen"
If X = "LI" Or X = "LJ" Or X = "LK" Or X = "LL" Or X = "LM" Or X = "LN" Or X = "3Y" Then Land = "Norwegen"
If X = "JY" Then Land = "Jordanien"
If X = "J2" Then Land = "Dschibuti"
If X = "J3" Then Land = "Grenada"
If X = "J5" Then Land = "Guinea-Bissau"
If X = "J6" Then Land = "St.Lucia"
If X = "J7" Then Land = "Dominica"""
If X = "J8" Then Land = "St.Vincent"
If X = "LX" Then Land = "Luxenburg"
If X = "LY" Then Land = "Litauen"
If X = "LZ" Then Land = "Bulgarien"
If X = "OA" Or X = "OB" Or X = "OC" Or X = "4T" Then Land = "Peru"
If X = "OD" Then Land = "Libanon"
If X = "OE" Then Land = "Österreich"
If X = "OF" Or X = "OG" Or X = "OH" Or X = "OI" Or X = "OJ" Then Land = "Finnland"
If X = "OK" Or X = "OL" Then Land = "Tschechien"
If X = "OM" Then Land = "Slowakei"
If X = "ON" Or X = "OT" Or X = "OR" Then Land = "Belgien"
If X = "OU" Or X = "OV" Or X = "OW" Or X = "OX" Or X = "OY" Or X = "OZ" Or X = "XP" Or X = "5P" Or X = "5Q" Then Land = "Dänemark"
If X = "PA" Or X = "PB" Or X = "PC" Or X = "PD" Or X = "PE" Or X = "PF" Or X = "PG" Or X = "PH" Or X = "PI" Then Land = "Niederlande"
If X = "PP" Or X = "PQ" Or X = "PR" Or X = "PS" Or X = "PT" Or X = "PU" Or X = "PV" Or X = "PW" Or X = "PX" Then Land = "Brasilien"
If X = "PY" Or X = "ZV" Or X = "ZW" Or X = "ZX" Or X = "ZY" Or X = "ZZ" Then Land = "Brasilien"
If X = "PJ" Then Land = "Antillen"
If X = "PK" Or X = "PL" Or X = "PN" Or X = "PM" Or X = "PO" Or X = "JZ" Or X = "YB" Or X = "YC" Or X = "YD" Or X = "YE" Or X = "YF" Or X = "YG" Then Land = "Indonesien"
If X = "YH" Or X = "7A" Or X = "7B" Or X = "7C" Or X = "7D" Or X = "7E" Or X = "7F" Or X = "7G" Or X = "7H" Or X = "7I" Or X = "8A" Or X = "8B" Then Land = "Indonesien"
If X = "8C" Or X = "8D" Or X = "8E" Or X = "8F" Or X = "8G" Or X = "8H" Or X = "8I" Then Land = "Indonesien"
If X = "PZ" Then Land = "Suriname"
If X = "P2" Then Land = "Neuguinea"
If X = "P4" Then Land = "Aruba"
If X = "UA" Or X = "UB" Or X = "UC" Or X = "UD" Or X = "UE" Or X = "UF" Or X = "UG" Or X = "UH" Or X = "UI" Then Land = "Russland"
If X = "SA" Or X = "SB" Or X = "SC" Or X = "SD" Or X = "SE" Or X = "SF" Or X = "SG" Or X = "SH" Or X = "SI" Or X = "SJ" Or X = "SK" Or X = "SL" Then Land = "Schweden"
If X = "SN" Or X = "SM" Or X = "7S" Or X = "8S" Then Land = "Schweden"
If X = "SU" Or X = "6A" Or X = "6B" Then Land = "Ägypten"
If X = "6T" Or X = "6U" Or X = "ST" Then Land = "Sudan"
If X = "SV" Or X = "SW" Or X = "SX" Or X = "SY" Or X = "SZ" Or X = "J4" Then Land = "Griechenland"
If X = "S0" Then Land = "Sahara"
If X = "S2" Or X = "S3" Then Land = "Bangladesch"
If X = "S5" Then Land = "Slowenien"
If X = "S6" Or X = "9V" Then Land = "Singapur"
If X = "S7" Then Land = "Sychellen"
If X = "S8" Or X = "ZR" Or X = "ZS" Or X = "ZT" Or X = "ZU" Then Land = "Südafrika"
If X = "S9" Then Land = "Sao Tome"
If X = "TA" Or X = "TB" Or X = "TC" Or X = "YM" Then Land = "Türkei"
If X = "TD" Or X = "TG" Then Land = "Guatemala"
If X = "TE" Or X = "TI" Then Land = "Costa Rica"
If X = "TF" Then Land = "Island"
If X = "TJ" Then Land = "Kamerun"
If X = "TL" Then Land = "Zentr. Afrik. Rep."
If X = "TN" Or X = "9O" Or X = "9P" Or X = "9R" Or X = "9S" Or X = "9T" Then Land = "Kongo"
If X = "TR" Then Land = "Gabun"
If X = "TS" Or X = "3V" Then Land = "Tunesien"
If X = "TT" Then Land = "Tschad"
If X = "TU" Then Land = "Elfenbeinküste"
If X = "TY" Then Land = "Benin"
If X = "TZ" Then Land = "Mali"
If X = "T2" Then Land = "Tuvalu"
If X = "T3" Then Land = "Kiribati"
If X = "T4" Or X = "CL" Or X = "CM" Or X = "CO" Then Land = "Kuba"
If X = "T5" Or X = "6O" Then Land = "Somalia"
If X = "T6" Or X = "YA" Then Land = "Afganistan"
If X = "T7" Then Land = "San Marino"
If X = "T8" Then Land = "Palau"
If X = "UJ" Or X = "UK" Or X = "UL" Or X = "UM" Then Land = "Usbekistan"
If X = "UN" Or X = "UO" Or X = "UP" Or X = "UQ" Then Land = "Kasachstan"
If X = "UR" Or X = "US" Or X = "UT" Or X = "UU" Or X = "UV" Or X = "UW" Or X = "UX" Or X = "UY" Or X = "UZ" Then Land = "Ukraine"
If X = "EM" Or X = "EN" Or X = "EO" Then Land = "Ukraine"
If X = "VP" Or X = "VQ" Then Land = "Verein.Königreich"
If X = "VR" Then Land = "Hongkong"
If X = "VS" Then Land = "Verein.Königreich"
If X = "VZ" Then Land = "Australien"
If X = "V2" Then Land = "Antigua"
If X = "V3" Then Land = "Belize"
If X = "V4" Then Land = "St.Kitts"
If X = "V5" Then Land = "Namibia"
If X = "V6" Then Land = "Micronesien"
If X = "V7" Then Land = "Marshallinseln"
If X = "V8" Then Land = "Brunei"
If X = "XA" Or X = "XB" Or X = "XC" Or X = "XD" Or X = "XE" Or X = "XF" Or X = "6D" Or X = "6E" Or X = "6F" Then Land = "Mexico"
If X = "XG" Or X = "XH" Or X = "XI" Or X = "6G" Or X = "6H" Or X = "6I" Or X = "6J" Or X = "4A" Or X = "4B" Or X = "4C" Then Land = "Mexico"
If X = "XT" Then Land = "Burkina Faso"
If X = "XU" Then Land = "Kambodscha"
If X = "XV" Or X = "3W" Then Land = "Vietnam"
If X = "XW" Then Land = "Laos"
If X = "XX" Then Land = "Macou"
If X = "XY" Or X = "XZ" Then Land = "Myarmar"
If X = "YJ" Then Land = "Vanatu"
If X = "YK" Or X = "6C" Then Land = "Syrien"
If X = "YL" Then Land = "Lettland"
If X = "YO" Or X = "YP" Or X = "YQ" Or X = "YR" Then Land = "Rumänien"
If X = "YT" Or X = "YU" Then Land = "Serbien"
If X = "YV" Or X = "YW" Or X = "YX" Or X = "YY" Or X = "4M" Then Land = "Venezuela"
If X = "ZA" Then Land = "Albanien"
If X = "ZB" Or X = "ZC" Or X = "ZD" Or X = "ZE" Or X = "ZF" Or X = "ZG" Or X = "ZH" Or X = "ZI" Or X = "ZJ" Then Land = "Verein.Königreich"
If X = "ZK" Or X = "ZL" Or X = "ZN" Or X = "ZM" Then Land = "Neuseeland"
If X = "ZN" Or X = "ZM" Or X = "ZO" Then Land = "Verein.Königreich"
If X = "ZP" Then Land = "Paraguay"
If X = "ZQ" Then Land = "Verein.Königreich"
If X = "Z2" Then Land = "Simbawe"
If X = "Z3" Then Land = "Mazedonien"
If X = "Z8" Then Land = "Süd Sudan"
If X = "3A" Then Land = "Monaco"
If X = "3B" Then Land = "Mauritius"
If X = "3C" Then Land = "Äquatoria Gui."
If X = "3X" Then Land = "Guinea"
If X = "4J" Or X = "4K" Then Land = "Aserbeidschan"
If X = "4L" Then Land = "Georgien"
If X = "4O" Then Land = "Montenegro"
If X = "4P" Or X = "4Q" Or X = "4R" Or X = "4S" Then Land = "Sri Lanka"
If X = "4U" Then Land = "Vereinte Nationen"
If X = "4W" Then Land = "Osttimor"
If X = "4X" Or X = "4Z" Then Land = "Israel"
If X = "5A" Then Land = "Libyen"
If X = "5H" Or X = "5I" Then Land = "Tansania"
If X = "5L" Or X = "5M" Then Land = "Liberia"
If X = "5N" Or X = "5O" Then Land = "Nigeria"
If X = "5T" Then Land = "Mauretanien"
If X = "5U" Then Land = "Niger"
If X = "5V" Then Land = "Togo"
If X = "5W" Then Land = "Samoa"
If X = "5X" Then Land = "Uganda"
If X = "5Y" Or X = "5Z" Then Land = "Kenia"
If X = "6V" Or X = "6W" Then Land = "Senegal"
If X = "6X" Then Land = "Madagaskar"
If X = "6Y" Then Land = "Jamaika"
If X = "6Z" Then Land = "Liberia"
If X = "7O" Then Land = "Jemen"
If X = "7P" Then Land = "Lesotho"
If X = "7Q" Then Land = "Malawi"
If X = "7T" Or X = "7U" Or X = "7V" Or X = "7W" Or X = "7X" Or X = "7Y" Or X = "7R" Then Land = "Algerien"
If X = "8P" Then Land = "Barbados"
If X = "8Q" Then Land = "Malediven"
If X = "8R" Then Land = "Guyana"
If X = "9A" Then Land = "Kroatien"
If X = "9E" Or X = "9F" Then Land = "Äthiopien"
If X = "9G" Then Land = "Ghana"
If X = "9H" Then Land = "Malta"
If X = "9I" Or X = "9J" Then Land = "Sambia"
If X = "9k" Then Land = "Kuwait"
If X = "9L" Then Land = "Sierra Leone"
If X = "9M" Then Land = "Malaysia"
If X = "9N" Then Land = "Nepal"
If X = "9U" Then Land = "Burundi"
If X = "9W" Then Land = "Malaysia"
If X = "9X" Then Land = "Ruanda"
If X = "9Y" Or X = "9Z" Then Land = "Trinidad"
X = Left(RUF , 3)
If X = "SSA" Or X = "SSB" Or X = "SSC" Or X = "SSD" Or X = "SSE" Or X = "SSF" Or X = "SSG" Then Land = "Ägypten"
If X = "SSH" Or X = "SSI" Or X = "SSJ" Or X = "SSK" Or X = "SSL" Or X = "SSM" Then Land = "Ägypten"
If X = "SSN" Or X = "STZ" Then Land = "Sudan"
If X = "VP8" Then Land = "Falkland"
If X = "HB0" Or X = "HBL" Then Land = "Liechtenstein"
If X = "3DA" Or X = "3DM" Then Land = "Swasiland"
If X = "3DN" Or X = "3DZ" Then Land = "Fitschi"
If X = "EA8" Then Land = "Spanien Kanaren"
X = Left(RUF , 4)
If X = "HB3Y" Then Land = "Liechtenstein"
If Land <> "" Then Label5.Caption = "Call from: " + Land Else Label5.Caption = ""
End Function
I somehow can’t figure out the triple black ticks thing, sorry
Meadenhead Locator V10.appstudio.zip (66.2 KB)
Tip : If you’re pasting code, html or config files, surround the code with triple back ticks (```), before the first line and after the last one. It will be formatted properly. (We fixed it for you this time)
Hello
Can someone tell me why Google Maps sample doesn’t work?
An error message appears. Where can I get an API key?
In the Properties menu for the under Common you will sse … this is where you put your Google Maps apiKey.
To get your apiKey … goto:
It has a step by step tutorial and a little video of how to get the aipKey.