技術日誌

野球関係のサービスを個人開発しています。

react-leaflet事始め

何気なくよく使っているGoogleMap、 googleの公式サイト以外で使おうとすると料金がかかるのを知っていますか? ということで、Google MapsAPIを使わずに地図表示する方法を調べてみました。

Leaflet.jsというオープンソースの地図表示ライブラリがありました。 leafletjs.com こちらはreactコンポーネント化したライブラリ react-leaflet.js.org

react-leafletトラブルシューティング

delete L.Icon.Default.prototype._getIconUrl;
L.Icon.Default.mergeOptions({
  iconRetinaUrl: require("leaflet/dist/images/marker-icon-2x.png"),
  iconUrl: require("leaflet/dist/images/marker-icon.png"),
  shadowUrl: require("leaflet/dist/images/marker-shadow.png")
});
<Map
          center={position}
          zoom={this.state.zoom}
          style={{
            height: 600
          }}
        >
          <TileLayer
            attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
            url="https://{s}.tile.osm.org/{z}/{x}/{y}.png"
          />
          {markers}
        </Map>

完成

  • 日本地図を表示しながら時系列で各地点どのような出来事があったかをアニメーション表示する
  • 各チームの拠点にチームアイコンを表示する という機能を追加しました。 cap-baseball.com

参考

www.ipride.co.jp