iOS Code Snippet ios Map caller(for Chinese)

Discussion in 'iOS Code Snippets' started by icefairy333, Jan 20, 2017.

  1. icefairy333

    icefairy333 Active Member Licensed User

    Code:
    'class name clsMapCaller
    'http://www.jianshu.com/p/e4039b5a1a43
    ' do not forgot add this three line to you main module
    '#QueriesSchemes:baidumap
    '#QueriesSchemes:iosamap
    '#QueriesSchemes:qqmap
    Sub Class_Globals
        
    Type mappoint(title As String,lat As Double,lng As Double,text As String,id As Int)
        
    Private mapType As Int=0
        
    Public appname As String
    End Sub

    '0=auto(default) 1=amap 2=qqmap 3=baidumap
    Public Sub Initialize(whichMap As Int)
        mapType=whichMap
    End Sub
    'single
    Public Sub showMarker(mp As mappoint)
        
    Select mapType
        
    Case 0
            
    If checkAMap Then
                markerAMap(mp)
            
    else if checkQQMap Then
                markerQQMap(mp)
            
    Else if checkBDMap Then
                markerBDMap(mp)
            
    Else
                comm.TL(
    "当前设备没有安装主流第三方地图")
            
    End If
        
    Case 1
                
    If checkAMap Then
                    markerAMap(mp)
                
    Else
                    comm.TL(
    "当前设备没有安装高德地图")
                
    End If
        
    Case 2
                
    If checkQQMap Then
                    markerQQMap(mp)
                
    Else
                    comm.TL(
    "当前设备没有安装QQ地图")
                
    End If
        
    Case 3
                
    If checkBDMap Then
                    markerBDMap(mp)
                
    Else
                    comm.TL(
    "当前设备没有安装百度地图")
                
    End If
        
    End Select
    End Sub
    'mappoint list
    Public Sub showMarker2(lst As List)
      
    End Sub

    Private Sub checkAMap As Boolean
        
    Return Main.App.CanOpenURL("iosamap://")
    End Sub
    Private Sub markerAMap(mp As mappoint)
        Main.App.OpenURL(
    $"iosamap://viewMap?sourceApplication=${appname}&poiname=${mp.title}&lat=${mp.lat}&lon=${mp.lng}&dev=0"$)
    End Sub
    Private Sub checkBDMap As Boolean
        
    Return Main.App.CanOpenURL("baidumap://")
    End Sub
    Private Sub markerBDMap(mp As mappoint)
        Main.App.OpenURL(
    $"baidumap://map/marker?location=${mp.lat},${mp.lng}&title=${mp.title}&content=${mp.text}"$)
    End Sub
    Private Sub checkQQMap As Boolean
        
    Return Main.App.CanOpenURL("qqmap://")
    End Sub
    Private Sub markerQQMap(mp As mappoint)
        Main.App.OpenURL(
    $"qqmap://map/marker?marker=coord:${mp.lat},${mp.lng};title:${mp.title};addr:${mp.text}&referer=${appname}"$)
    End Sub
     
Loading...