|
24 | 24 | __all__ = ['display', 'display_pretty', 'display_html', 'display_markdown', |
25 | 25 | 'display_svg', 'display_png', 'display_jpeg', 'display_latex', 'display_json', |
26 | 26 | 'display_javascript', 'display_pdf', 'DisplayObject', 'TextDisplayObject', |
27 | | -'Pretty', 'HTML', 'Markdown', 'Math', 'Latex', 'SVG', 'JSON', 'Javascript', |
| 27 | +'Pretty', 'HTML', 'Markdown', 'Math', 'Latex', 'SVG', 'JSON', 'GeoJSON', 'Javascript', |
28 | 28 | 'Image', 'clear_output', 'set_matplotlib_formats', 'set_matplotlib_close', |
29 | 29 | 'publish_display_data', 'update_display', 'DisplayHandle'] |
30 | 30 |
|
@@ -680,6 +680,25 @@ def _repr_json_(self): |
680 | 680 | lib_t2 = """}); |
681 | 681 | """ |
682 | 682 |
|
| 683 | +class GeoJSON(JSON): |
| 684 | + |
| 685 | + @property |
| 686 | + def data(self): |
| 687 | + return self._data |
| 688 | + |
| 689 | + @data.setter |
| 690 | + def data(self, data): |
| 691 | + if isinstance(data, str): |
| 692 | + data = json.loads(data) |
| 693 | + self._data = data |
| 694 | + |
| 695 | + def _ipython_display_(self): |
| 696 | + bundle = { |
| 697 | + 'application/geo+json': self.data, |
| 698 | + 'text/plain': '<jupyterlab_geojson.GeoJSON object>' |
| 699 | + } |
| 700 | + display(bundle, raw=True) |
| 701 | + |
683 | 702 | class Javascript(TextDisplayObject): |
684 | 703 |
|
685 | 704 | def __init__(self, data=None, url=None, filename=None, lib=None, css=None): |
|
0 commit comments