Я думаю, что проблема в функции MapDisplayPosition, второй параметр должен быть переменной geoPostiion, как вы можете видеть в справке ИЛИ это может быть строка с адресом, вы пробовали:
sAddress is string = gnWorkaddress + ", " + gnWorkplace + ", " + "Netherlands"
MapDisplayPosition(MAP_Worklocation, sAddress)
Кроме того, вы не можете назначить Address
и ..Position
, вам нужна переменная geoPosition;после центрирования карты с помощью MapDisplayPosition вы можете получить позицию с помощью:
TmpPos is geoPosition
TmpPos = MapGetPosition(MAP_Worklocation)
, а затем добавить маркер:
MyMarker is Marker
MyMarker..Position = TmpPos
MyMarker..ActionClick = ProcMarkerClick
MapAddMarker(MAP_Worklocation, MyMarker)
Попробуйте с этим, я лично нашел другой обходной путь, потому что изи адрес (stree, почтовый индекс, город ...), записанный во время регистрации, мне нужен был gps-код, поэтому я использовал Google Maps Apis :
oQuery is httpRequest
// Replace blank spaces with +, for URL.
sTempStreet is string = Replace(MyStreet," ","+")
sTempCity is string = Replace(MyCity," ","+")
oQuery..URL = "https://maps.googleapis.com/maps/api/geocode/json?address="+sTempStreet+",+"+sTempCity+"+"+stTempZIP+"+"+stTempCountry+",+stTempState&key=*<yourapikeyhere>*"
oQuery..Method = httpGet
oResponse is httpResponse
oResponse = HTTPSend(oQuery)
vInfo is Variant
vInfo = JSONToVariant(oResponse..Content)
sGPSLatitude = vInfo.results[1].geometry.location.lat
sGPSLongidute = vInfo.results[1].geometry.location.lng