WordPress GPXプラグイン wp-gpx-maps 温度、心拍、ケイデンス表示
Garmin GPSMAPの軌跡管理で軌跡保存したGPXデータを直接WordPress GPXプラグイン wp-gpx-maps に取り込んたところ、温度、心拍数が認識できなかった。
[sgpx gpx="/wp-content/uploads/gpx/gpsmap_test那須岳.gpx"]
しかし、Garmin ConnectでGarminサーバーにGPXファイルをアップし、カレンダーのところから対象となるMAPの「詳細を確認」で表示したページから、歯車のアイコンを選択して、そこからGPXエクスポートでダウンロードしたGPXデータは温度、心拍数が認識できた。
[sgpx gpx="/wp-content/uploads/gpx/activity_test那須岳.gpx"]
この2つのGPXデータの差は、「gpxtpx」というネームスペースか、
<trkpt lat="37.1284990758″ lon="139.9756607506″>
<ele>1478.88</ele>
<time>2019-11-02T07:00:22Z</time>
<extensions>
<gpxtpx:TrackPointExtension>
<gpxtpx:atemp>6.5</gpxtpx:atemp>
<gpxtpx:hr>118</gpxtpx:hr>
</gpxtpx:TrackPointExtension>
</extensions>
</trkpt>
「ns3」というネームスペースを使用しているかの違いだった。
<trkpt lat="37.1284990758″ lon="139.9756607506″>
<ele>1478.88</ele>
<time>2019-11-02T07:00:22Z</time>
<extensions>
<ns3:TrackPointExtension>
<ns3:atemp>6.5</gpxtpx:atemp>
<ns3:hr>118</gpxtpx:hr>
</ns3:TrackPointExtension>
</extensions>
</trkpt>
GPXプラグイン wp-gpx-maps のwp-gpx-maps_utils.phpでは、
if ( isset( $arr['ns3:TrackPointExtension’] ) ) {
$tpe = $arr['ns3:TrackPointExtension’];
$hr = @$tpe[“ns3:hr"];
$atemp = @$tpe[“ns3:atemp"];
$cad = @$tpe[“ns3:cad"];
} elseif (
のように、hr:心拍、atemp:温度が「ns3」でチェックしている。wp-gpx-maps_utils.php を書き換えて「ns3」から「gpxtpx」に変更するかGPSMAPのGPXデータをns3に一括置換すればGarminのGPSMAPのGPXデータはそのまま認識するかもしれないが、Garmin ConnectでGarminサーバーからエクスポートしたGPXデータを使ってGPXプラグイン wp-gpx-mapsに取り込んだ方が良いと思う。
ちなみに、情報表示の日本語化は、"wp-gpx-maps.php"で文字を置き換えた。
ディスカッション
コメント一覧
まだ、コメントがありません