« NS Basic Communicater その1 | トップページ | Google Maps »

2006年5月 1日 (月)

NSMapsの概要

NSMaps.nsb

  • W-Zero3で位置情報の獲得
  • 獲得したデータ(緯度、経度)をGPointデータに変換
    http://www.google.com/apis/maps/documentation/reference.html#GPoint
  • NS BasicでHtmlファイルの作成(ホームページにパラメータ付きでCGIに引き継ぐ)
  • ホームページのcgiプログラムでページにGoogleMapsを表示
    http://www.sabot.co.jp/maps/maps.cgi?ENADD="&textbox5.text&"&B1=sablt"&
  • W-Zero3に表示

これらを実行するとW-Zero3に周辺の地図が表示されます。

NSMaps.nsb プログラム

Option Explicit
Dim selection,myString
Dim logfile
AddObject "CECOMM.Comm", "Comm"
AddObject "File","File1"
AddObject "File","File2"
AddObject "MGCEWin32.API", "API1", 0, 0, 0,0
selection=0
myString=""

Sub Close_Click()
  Dim OutputData
  File1.Open "nsmaps.html",2
  '--- ヘッダの記入
  OutputData = html(textbox3.Text,textbox4.Text)
  File1.Lineprint OutputData
  '--- データの生成
  File1.Close
  ShellExecute "open","nsmaps.html"
  Comm.PortOpen = 0
  killfocus
End Sub

Sub form_close()
  Comm.PortOpen = 0
End Sub

Sub Open_Click() 
  Dim sRead
  Dim N10
  Dim N100
  Dim E10
  Dim E100
  Dim myString
  Dim flag
  Dim OutputData
  Dim InputLine
 
  Comm.Rthreshold = 1 'event on every character in
  Comm.InputMode = 0 'text mode
  Comm.handshaking=1 '0=none, 1=XON/XOFF, 2=HW
  Comm.RTSEnable=True
  comm.DTREnable=True
  Comm.PortOpen = True 
  If err<>0 Then
    MsgBox "Open Comm: " & err.description
    err.clear
  End If
  myString = "at@lbc1"&Chr(13)
  Comm.Output = myString
  flag=Comchk
  myString = "at@lbc?"&Chr(13)
  Comm.Output = myString
  sRead=Comchk
  myString = "at@lbc2"&Chr(13)
  Comm.Output = myString
  flag=Comchk
  If InStr(sRead,"N")>0 Then
   textbox1.Text=Mid(sRead,InStr(sRead,"N")+1,8)
    textbox3.Text=Mid(textbox1.Text,1,InStr(textbox1.Text,":")-1)
   N10=CSng(Mid(textbox1.Text,InStr(textbox1.Text,":")+1,2))/60
   N100=Right(textbox1.Text,2)/60/60
   N10=N10+N100
   textbox3.Text= CSng(textbox3.Text)+  N10+0.003
  End If
 
  If InStr(sRead,"E")>0 Then
    textbox2.Text=Mid(sRead,InStr(sRead,"E")+1,9)
    textbox4.Text=Mid(textbox2.Text,1,InStr(textbox2.Text,":")-1)
    E10=CSng(Mid(textbox2.Text,InStr(textbox2.Text,":")+1,2))/60
    E100=Right(textbox2.Text,2)/60/60
    E10=E10+E100
    textbox4.Text= CSng(textbox4.Text)+  E10-0.003
    textbox5.Text=textbox4.Text&","&textbox3.Text
    API1.cliptext=textbox5.Text
    logfile="dataget.txt"
    'msgbox logfile
    File2.Open logfile,8
    '--- ヘッダの記入
    OutputData = FormatDateTime(date,2) &" "& FormatDateTime(now,4) & " = "& textbox5.text
    File2.Lineprint OutputData
    '--- データの生成
    File2.Close
    Listbox.clear
    File2.Open logfile,1
    Do
      If File2.Eof = True Then Exit Do
        '---
      InputLine = File2.LineInputString
      listbox.additem InputLine
    Loop
    File2.Close
  End If
  Comm.PortOpen = 0
  killfocus
End Sub

Function Html(N,E)
  Html="<head><meta http-equiv="&Chr(34)&"Content-Language"&Chr(34)&" content="&Chr(34)&"ja"&Chr(34)&"></head><p>&nbsp;&nbsp;&nbsp;&nbsp;<a href="&Chr(34)&"http://www.sabot.co.jp/maps/maps.cgi?ENADD="&textbox5.text&"&B1=sablt"&Chr(34)&">NS Basic of Google local</a></p><p></p>"
End Function

Function Comchk()
  Dim g
  Dim k
  Do
    '時間稼ぎ
    Sleep(10)
    'InBufferCountの評価
    If g=comm.InBufferCount Then
      k=k+1
    Else
      K=0
    End If
    'InBufferCountに現在の値
    g=comm.InBufferCount
    'InBufferCountが10回同じ値であればたぶん受信したでしょう。
    If k=10 Then
      Comchk=Comm.input
      Exit Do
    End If
  Loop
End Function

|

« NS Basic Communicater その1 | トップページ | Google Maps »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/34702/9846174

この記事へのトラックバック一覧です: NSMapsの概要:

« NS Basic Communicater その1 | トップページ | Google Maps »