SlideShare uma empresa Scribd logo
1 de 40
HCL Nomad で GPS
を使おう!!
Haruyuki Nakano (中野 晴幸)
@harunakano (Twitter)
harunakano@blogspot.com (blog)
www.slideshare.net/harunakano/ (slides)
GPS へのアクセス
1.0.4 以降の HCL Nomad と
Domino V11 をご準備ください
https://twitter.com/harunakano/status/1032043701395107840?s=20
チェコ語のツイートに反応してしま
うほどNomadに期待を寄せていた
https://twitter.com/harunakano/status/1176274730845794304?s=20
V11ベータ1 は GPS へアクセスで
きそうで、できなかった…
https://twitter.com/harunakano/status/1187653305578582016?s=20
V11ベータ2 で
GPS へアクセスできた
※写真はリバース・ジ
オコーディングした結
果を表示したもの
https://twitter.com/katoman/status/1189912190645489669?s=20
魔王様のお告げ
「超簡単」
3つのクラス(LotusScript)
• NotesGPS
• NotesGPSPosition
• NotesGPSCoordinates
NotesGPS
位置情報へのアクセスを提供します。1.0.4 以降のHCL Nomad をサポートしています。
包含関係
スーパークラス: NotesSession
サブクラス: NotesGPSPosition
プロパティ
TimeoutSec
HighAccuracy
メソッド
GetCurrentPosition
RequestAccess
... NotesGPS要求のタイムアウト(秒)。デフォルトは9秒(プラットフォームに依
存)
... 高精度の位置だけ返すようプラットフォームに指示します。屋内では使用できませ
ん。
... プラットフォームに要求を送信して、現在の位置を取得します。
... プラットフォームからのアクセスを要求します。アクセスが提供される場合Trueを
戻します。
HighAccuracy プロパティ
• getCurrentPosition メソッドまたはUpdateメソッドをコールすると最後に返されたGPS座
標のタイムスタンプをチェックします。この時、タイムスタンプが古すぎる場合、GPSは
新しい座標を取得しようとします。「古すぎる」の定義は次のとおりです。
• 高精度(HighAccuracy = True):15秒前
• 低精度(HighAccuracy = False):1分前
• iOS のGPS radio に設定されている目的の精度に影響します。
• 高精度:10m以内の位置を取得しようとする
• 低精度:最も近い100m以内の位置を取得しようとする
• GPSが使用するバッテリーの量に影響します。
• 高精度>低精度
NotesGPSPosition
現在の位置情報を含みます。1.0.4 以降のHCL Nomad をサポートしています。
包含関係
スーパークラス: NotesGPS
サブクラス: NotesGPSCoordinates
プロパティ
Coordinates
TimeStamp
メソッド
Update
... 位置情報へアクセスします
... 最後に位置情報を取得した時刻です。NotesDateTime オブジェクトを返します。
... プラットフォームに要求を送信して、現在の位置を取得します
NotesGPSCoordinates
デバイスの位置の現在の座標を含みます。1.0.4 以降のHCL Nomad をサポートしています。
包含関係
スーパークラス: NotesGPSPosition
プロパティ
Accuracy
Altitude
AltitudeAccuracy
Heading
Latitude
Longitude
Speed
... 緯度経度の誤差。単位はm。
... 高度。単位はm。負の値は無効。
... 高度の誤差。単位はm。
... 現在の向きを真北から始まる角度で示す。単位は度。北は0、東は90。負の値は無効。
... 緯度。
... 経度。
... 速度。単位は秒速(m/s)。移動距離から速度を計算?負の値は無効。
GPSから位置情報を取得する
Dim ss As New NotesSession
Dim gps As NotesGPS
Dim position As NotesGPSPosition
Dim coordinates As NotesGPSCoordinates
Dim msg$, crlf$
crlf = Chr(10)
Set gps = ss.CreateGPS
Set position = gps.GetCurrentPosition
Set coordinates = position.Coordinates
With coordinates
msg = "緯度: " & .Latitude & _
crlf & "経度: " & .Longitude & _
crlf & "高度: " & .Altitude & _
crlf & “方角: " & .Heading & _
crlf & "速度: " & .Speed & _
crlf & "緯度経度の誤差: " & .Accuracy & _
crlf & "高度の誤差: " & .AltitudeAccuracy
End With
Messagebox msg
NotesSession.CreateGPS
でECLの警告を表示
(iOS)
位置情報の利用
について確認
許可されていれば
NotesGPS.RequestAccess
は True を戻す
室内で取得すると
誤差が大きい
止まっている状態で
は、方角と速度は
無効な値に
緯度経度の値から Google Map を起動するアクションボタンのサンプル
@URLOpen(
“https://www.google.com/maps/search/?api=1&query=” + @Text(<緯度>) +
“,” + @Text(<経度>)
)
位置情報の活用
リバースジオコーディング
2地点間の距離を求める
GPSロガー
リバースジオコーディング
• リバースジオコーディング:緯度経度から住所を取得すること
• Google Maps API を使って実装、戻り値は JSON
https://maps.googleapis.com/maps/api/geocode/json?latlng=<緯度>,<経度>&language=ja&key=<APIキー>
formatted_addressは戻り値に複数出現するが、
ここでは最初に出現するものだけ取得する
Function reverseGeocoding( lat As Double, lng As Double ) As String
Dim ss As New NotesSession
Dim req As NotesHTTPRequest
Dim nav As NotesJSONNavigator
Dim elm As NotesJSONElement
Dim arr As NotesJSONArray
Dim obj As NotesJSONObject
Dim url$
Const API_KEY = “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" & lat & "," & lng & "&language=ja&key=" & API_KEY
Set req = ss.CreateHTTPRequest
req.PreferJSONNavigator = True
req.SetHeaderField "Content-Type", "application/json"
Set nav = req.Get( url )
Set elm = nav.GetElementByName( "results" )
Set arr = elm.Value
Set elm = arr.GetFirstElement
Set obj = elm.Value
Set elm = obj.GetElementByName( "formatted_address" )
reverseGeocoding = elm.Value
End Function
緯度と経度を入力して、住所を出力する
Google Maps API
戻り値から住所を抽出
Sub Initialize
Dim address$
address = reverseGeocoding( 35.662051892229,139.7147603174 )
MessageBox address
End Sub
2地点間の距離を求める
• 用途:
• 場所を絞り込み、ダイアログボックス等に表示するキーワード・リス
トを短縮、あるいは1つの値に特定し、入力・選択の手間を軽減
• ある地点から半径xメートルのエリア内だけ、文書の作成・編集を可能
にする
球面三角法
Function spherical_trigonometry( lat1 As Double, lng1 As Double, lat2 As Double, lng2 As Double ) As
Double
Dim radLat1 As Double, radLng1 As Double ‘地点1
Dim radLat2 As Double, radLng2 As Double ‘地点2
Dim averageLat As Double, averageLng As Double
Dim c As Double
Const r = 6378137.0 '赤道半径
c = 180 / Pi '1周を360とする60分法からラジアンへ変換する際に使用する。(360/2πを約分)
' 円弧の長さを扱うため、角度(緯度経度)をラジアンへ変換
radLat1 = lat1 / c
radLng1 = lng1 / c
radLat2 = lat2 / c
radLng2 = lng2 / c
averageLat = (radLat1 - radLat2) / 2
averageLng = (radLng1 - radLng2) / 2
spherical_trigonometry = r * 2 * Asin( Sqr( Sin( averageLat ) ^ 2 + Cos( radLat1 ) * Cos( radLat2 ) *
Sin( averageLng ) ^ 2 ) )
End Function
ヒュベニイ(Hubeny)の式
Function hubeny( lat1 As Double, lng1 As Double, lat2 As Double, lng2 As Double ) As Double
Dim dLat As Double, dLng As Double
Dim i As Double, W As Double, M As Double, N As Double
Const E2 = 6.69437999019758E-03 '第2離心率(e^2)
Const r = 6378137.0 '赤道半径
dLat = lat2 - lat1
dLng = lng2 - lng1
i = ( lat1 + lat2 ) / 2
W = Sqr( 1 - E2 * Sin( i * Pi / 180 ) ^ 2 )
M = r * ( 1 - E2 ) / W ^ 3
N = r * W
hubeny = Sqr( ( dLat * Pi / 180 * M ) ^ 2 + ( dLng * Pi / 180 * N * Cos( i * Pi / 180 ) ) ^ 2 )
End Function
Dim ss As New NotesSession
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim lat1 As Double, lng1 As Double
Dim lat2 As Double, lng2 As Double
Dim distance As Double
Set dc = ss.CurrentDatabase.UnprocessedDocuments
Set doc = dc.GetFirstDocument
lat1 = doc.GetItemValue("Latitude")(0)
lng1 = doc.GetItemValue("Longitude")(0)
Set doc = dc.GetNextDocument( doc )
lat2 = doc.GetItemValue("Latitude")(0)
lng2 = doc.GetItemValue("Longitude")(0)
distance = spherical_trigonometry(lat1, lng1, lat2, lng2)
Messagebox distance & " m",,"球面三角法による2地点間の距離"
ビューで選択している2つの
文書を取得し、それぞれに保
存されている位置情報から距
離を算出して表示する
GPSロガー
• 位置情報を定期的に記録する
• 用途:
ランニングや山歩きの軌跡を地図上に表示する
GPS ロガー的なアプリを作ってみた
https://harunakano.blogspot.com/2019/10/gps.html
定期的にログを取る方法は
ブログをご参照ください
Dim prefix$, suffix$, kml$
prefix = |<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>GPS LOG</name>
<description>KMLサンプル</description>
<Style id="blueLine">
<LineStyle>
<color>7fff00ff</color>
<width>4</width>
</LineStyle>
</Style>
<Placemark>
<name>GPS LOG</name>
<description>KML サンプル</description>
<styleUrl>#blueLine</styleUrl>
<LineString>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>absolute</altitudeMode>
<coordinates>|
suffix = |</coordinates>
</LineString>
</Placemark>
</Document>
</kml>|
kml = prefix & root & suffix
Dim ss As New NotesSession
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim unid$
Set dc = ss.Currentdatabase.Unprocesseddocuments
Set doc = dc.Getfirstdocument()
unid = doc.Getitemvalue("unid")(0)
Set dc = Nothing
Set doc = Nothing
Dim vw As NotesView
Dim nav As NotesViewNavigator
Dim ent As NotesViewEntry
Dim root$
Set vw = ss.Currentdatabase.Getview( "byunid" )
Set nav = vw.Createviewnavfromcategory( unid )
Set ent = nav.Getfirst()
While Not ent Is Nothing
root = root & ent.Columnvalues( 2 ) & _
"," & ent.Columnvalues( 3 ) & _
"," & ent.Columnvalues( 4 ) & Chr(10)
Set ent = nav.Getnext( ent )
Wend
'KMLファイルを保存する
Dim filepath$, platform$, dlm$
Dim stream As NotesStream
platform = LCase( ss.Platform )
If platform = "ios" Then
dlm = "/"
ElseIf platform = "windows/32" Then
dlm = ""
End If
filepath = ss.Getenvironmentstring( "Directory", True )
filepath = filepath & dlm & "kml.kml"
Set stream = ss.Createstream()
If Not stream.Open( filepath, "UTF-8" ) Then
MessageBox "KMLファイルが開きません。",,"Open Failed"
Exit sub
End If
If stream.Bytes <> 0 Then
Call stream.Truncate()
End If
Call stream.Writetext( kml, EOL_CRLF )
Call stream.Close()
KMLファイルを作成する
ビューから取得した位置
情報(緯度、経度、高
度)をカンマで区切った1
行の文字列にして、複数
の位置情報を改行で区切
り、変数 root へ格納する
変数 kml の内容を
データディレクトリの
.kml ファイルへ書き出す
変数 root を 変数 prefix と
suffix で挟み、変数 kml へ
格納する
作成した .kml ファイル
を Google Earth へイン
ポート
アイデア
ダメもとでも投稿してみる価値あり
https://twitter.com/harunakano/status/1191899154802331654?s=20
https://domino-ideas.hcltechsw.com/ideas/DDXP-I-535
現在地から最も近い場所を選択肢に
• 建造物の名前と緯度経度を記録したマスターDBに、緯度と経度
を表示するビューを作っておく
• Nomadでフォームを開くと、GPSで現在地の緯度経度を取得
• ビューの最初のエントリを取得して、現在地との2地点間の距
離を計算する。最後のエントリまで計算と比較を繰り返し、最
も距離が近いものからトップ5の建造物名を抽出する
• 抽出した建造物名を選択肢に使用する ビューエントリ
が多くなるほど
遅くなる…
https://domino-ideas.hcltechsw.com/ideas/DDXP-I-531
わかったこと
試用したりサポートに問合せて
座標の取得と更新
• NotesGPSPosition.Coordinates をコールするだけでは最新の位置情報を取得できません。最新の位置情報を得るには
GetCurrentPosition または Update をコールします。どちらも同じ位置情報を返します。
• 現在の更新された位置情報を取得したい場合、既に有効な NotesGPSPosition オブジェクトがあれば Update をコールす
ることができます。Update をコールすれば GetCurrentPosition をコールして NotesGPSPosition オブジェクトを再初期
化する手間を回避できます。
• GetCurrentPosition と Update のコールでは TimeStamp をチェックします。メモリ内(GPSロケーションストリーム)
に有効な位置情報が無い場合、 または TimeStamp が古すぎる場合(高精度:15秒前、低精度:1分前)、新しい位置情
報を取得しようとします。
• GPSが位置情報を取得しようとしている間、LotusScript コードは TimeoutSec で指定した時間(iOSは最大10秒)待機し
ます。時間内に新しい位置情報を得られるとその場所を返しますが、そうでなければ「リクエストタイムアウト前に
GPS位置情報を取得できません」というメッセージをユーザーへのアラートとして返します。
• 現在、新しい位置情報の取得に失敗したときに試行する回数は指定できません。(将来の機能拡張に期待!)
消費電力
• GetCurrentPosition が最初にコールされたとき iOS側でGPSロケーションストリームが開始され、タイマーが作動して GPS radio が3分間オ
ンのままになります。GPS radio がオンの間、Nomad は追加の電力を消費します。
• GPSロケーションストリームを終了すると GPS radio はオフになりますが、現在 LotusScript から GPS radio をオフにする方法はありませ
ん。LotusScript を終了しても3分のタイマーが終了するまで GPS radio はオンのままです。Nomad がシャットオフされると GPS radio は
それを呼び出していたアプリがシャットオフされたことを自動的に認識し、GPS radio をオフにします。
• GPS radio は3分間オンのままになりますが、GetCurrentPosition または Update のコールごとに3分の継続時間が更新されます。どちらの
メソッドも電力の消費量は同じです。
• GPS radio がオンの間、 LotusScriptが新しい情報を要求しない場合でも、デバイスの電力を消費します。
• GPS radio がオンの間、Apple Maps のような他のロケーション志向アプリに匹敵する追加の電力を消費すると予想できます。
• 低精度(HighAccuracy=False)を使用する(または精度を設定しない)とき、GPSが使用するバッテリーの量を抑えることができます。
• 現在、GPS radio をオンの状態に保つ(GPSロケーションストリームが開いている)時間を変更することはできません。(将来の機能拡
張に期待!)
現状の制限など(2020年2月7日時点)
• GPSへのアクセスは、LotusScript のみサポートしています。Java では使用できません。
• Nomad は、標準装備のOS API を使い、モバイルデバイスにある GPS センサーへアクセスします。
現状は、コンピュータの USB ポートに接続された GPS デバイスをサポートしていません。した
がってコードのテストやデバッグは、モバイルデバイス上の Nomad で行う必要があります。
• Heading と Speed の値が必要な頻度で更新されない場合があります。他にもタイムアウトした後に
返すメッセージが正しくない不具合もありますが、これらの問題はNomadチームのバックログに
あります。
• iOSでは NotesGPS.TimeoutSec の最大値は9(秒)です。これはiOSでの制限としてNomadの文書に記
載されている制限(10秒)と同じです。 10(秒)以上の値を指定しても9秒に短縮されます。トラブル
予防のためインターバルを設け、9秒としています。
最後に…
Nomad で GPS を使う
https://harunakano.blogspot.com/2019/10/nomad-gps.html
GPS ロガー的なアプリを作ってみた
https://harunakano.blogspot.com/2019/10/gps.html
サンプルコードも
あるよ!

Mais conteúdo relacionado

Semelhante a HCL Nomad で GPS へアクセスしよう

カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化Kanetaka Heshiki
 
OpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワークOpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワークM Hagiwara
 
WordPressと外部APIとの連携
WordPressと外部APIとの連携WordPressと外部APIとの連携
WordPressと外部APIとの連携Hidekazu Ishikawa
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチMasami Ichikawa
 
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。Kazuki Onishi
 
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-uedayou
 
Apache Camel Netty component
Apache Camel Netty componentApache Camel Netty component
Apache Camel Netty componentssogabe
 
SF-TAP: L7レベルネットワークトラフィック解析器
SF-TAP: L7レベルネットワークトラフィック解析器SF-TAP: L7レベルネットワークトラフィック解析器
SF-TAP: L7レベルネットワークトラフィック解析器Yuuki Takano
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + PerlNaoya Ito
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgKentaro Ebisawa
 
関数プログラミング ことはじめ (再)
関数プログラミング ことはじめ (再)関数プログラミング ことはじめ (再)
関数プログラミング ことはじめ (再)Suguru Hamazaki
 
Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化Katsutoshi Makino
 
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニックOSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック庸介 高橋
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)fisuda
 
R入門とgoogle map +α
R入門とgoogle map +αR入門とgoogle map +α
R入門とgoogle map +αkobexr
 

Semelhante a HCL Nomad で GPS へアクセスしよう (20)

カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化
 
OpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワークOpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワーク
 
WordPressと外部APIとの連携
WordPressと外部APIとの連携WordPressと外部APIとの連携
WordPressと外部APIとの連携
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチ
 
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。
 
Subprocess no susume
Subprocess no susumeSubprocess no susume
Subprocess no susume
 
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
 
Apache Camel Netty component
Apache Camel Netty componentApache Camel Netty component
Apache Camel Netty component
 
SF-TAP: L7レベルネットワークトラフィック解析器
SF-TAP: L7レベルネットワークトラフィック解析器SF-TAP: L7レベルネットワークトラフィック解析器
SF-TAP: L7レベルネットワークトラフィック解析器
 
Scala on Hadoop
Scala on HadoopScala on Hadoop
Scala on Hadoop
 
Move semantics
Move semanticsMove semantics
Move semantics
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + Perl
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
 
関数プログラミング ことはじめ (再)
関数プログラミング ことはじめ (再)関数プログラミング ことはじめ (再)
関数プログラミング ことはじめ (再)
 
fluentd
fluentdfluentd
fluentd
 
Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化
 
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニックOSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
R入門とgoogle map +α
R入門とgoogle map +αR入門とgoogle map +α
R入門とgoogle map +α
 

Mais de Haruyuki Nakano

NotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxNotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxHaruyuki Nakano
 
プロフィール文書って何?
プロフィール文書って何?プロフィール文書って何?
プロフィール文書って何?Haruyuki Nakano
 
どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳Haruyuki Nakano
 
個人フォルダの作成権限
個人フォルダの作成権限個人フォルダの作成権限
個人フォルダの作成権限Haruyuki Nakano
 
Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Haruyuki Nakano
 
V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化Haruyuki Nakano
 
ベータフォーラムってこんなとこ
ベータフォーラムってこんなとこベータフォーラムってこんなとこ
ベータフォーラムってこんなとこHaruyuki Nakano
 
V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉Haruyuki Nakano
 
パブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスパブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスHaruyuki Nakano
 
初めての HCL Sametime
初めての HCL Sametime初めての HCL Sametime
初めての HCL SametimeHaruyuki Nakano
 
読者/作成者 フィールド
読者/作成者 フィールド読者/作成者 フィールド
読者/作成者 フィールドHaruyuki Nakano
 
Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Haruyuki Nakano
 
テーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたテーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたHaruyuki Nakano
 
ビュー索引のキホン(後編)
ビュー索引のキホン(後編)ビュー索引のキホン(後編)
ビュー索引のキホン(後編)Haruyuki Nakano
 
ビュー索引のキホン(前編)
ビュー索引のキホン(前編)ビュー索引のキホン(前編)
ビュー索引のキホン(前編)Haruyuki Nakano
 
アプリの「遅い」を見てみよう
アプリの「遅い」を見てみようアプリの「遅い」を見てみよう
アプリの「遅い」を見てみようHaruyuki Nakano
 

Mais de Haruyuki Nakano (20)

NotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxNotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptx
 
プロフィール文書って何?
プロフィール文書って何?プロフィール文書って何?
プロフィール文書って何?
 
Nomad開発の苦悩つ
Nomad開発の苦悩つNomad開発の苦悩つ
Nomad開発の苦悩つ
 
どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳
 
個人フォルダの作成権限
個人フォルダの作成権限個人フォルダの作成権限
個人フォルダの作成権限
 
Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -
 
V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化
 
V12 DAOS 拡張
V12 DAOS 拡張V12 DAOS 拡張
V12 DAOS 拡張
 
ベータフォーラムってこんなとこ
ベータフォーラムってこんなとこベータフォーラムってこんなとこ
ベータフォーラムってこんなとこ
 
V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉
 
オレのDocker元年
オレのDocker元年オレのDocker元年
オレのDocker元年
 
パブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスパブリック文書/パブリックアクセス
パブリック文書/パブリックアクセス
 
初めての HCL Sametime
初めての HCL Sametime初めての HCL Sametime
初めての HCL Sametime
 
読者/作成者 フィールド
読者/作成者 フィールド読者/作成者 フィールド
読者/作成者 フィールド
 
HCL Nomad と OCR
HCL Nomad と OCRHCL Nomad と OCR
HCL Nomad と OCR
 
Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料
 
テーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたテーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみた
 
ビュー索引のキホン(後編)
ビュー索引のキホン(後編)ビュー索引のキホン(後編)
ビュー索引のキホン(後編)
 
ビュー索引のキホン(前編)
ビュー索引のキホン(前編)ビュー索引のキホン(前編)
ビュー索引のキホン(前編)
 
アプリの「遅い」を見てみよう
アプリの「遅い」を見てみようアプリの「遅い」を見てみよう
アプリの「遅い」を見てみよう
 

HCL Nomad で GPS へアクセスしよう

Notas do Editor

  1. HighAccuracy はデフォルト False。ナビゲーションアプリなど高精度の位置情報や頻繁な更新を必要とする場合に有効にする。True にすると電力の消費が増える可能性あり?
  2. High Accuracy を True にセットしても、Speed と Heading の値が -1 を返す件について、HCL社 Brandon Ahlmark さんからの回答 デバイスが動いている間、方向と速度の両方が-1意外の値を返すはず。 NotesGPS が作成されると、組み込みのiOS GPSを使用してロケーションストリームが開き、デバイスのロケーションが3分間継続的に更新されます。 GPSオブジェクトが呼び出されてロケーションが更新されるたびに、この間隔はさらに3分間更新されます。 iOS ロケーションストリームが開いている間、デバイスが移動しているかどうか、およびどの方向に進んでいるかを追跡する必要があります。この問題の欠陥を開き、独自のテストをいくつか行って、iOS GPSが適切な値を返さない理由を確認します。