Merge pull request #103 from antvis/fix_stories

Fix(component): marker
This commit is contained in:
@thinkinggis 2019-11-28 17:52:14 +08:00 committed by GitHub
commit d6517ee62f
24 changed files with 219 additions and 143 deletions

View File

@ -40,7 +40,7 @@ new Layer(option)
## 鼠标事件 ## 鼠标事件
beta版当前不支持正式版会支持 ⚠️ beta版当前不支持正式版会支持
```javascript ```javascript
layer.on('click', (ev)=>{}); // 鼠标左键点击图层事件 layer.on('click', (ev)=>{}); // 鼠标左键点击图层事件

View File

@ -40,7 +40,7 @@ new Layer(option)
## 鼠标事件 ## 鼠标事件
beta版当前不支持正式版会支持 ⚠️ beta版当前不支持正式版会支持
```javascript ```javascript
layer.on('click', (ev)=>{}); // 鼠标左键点击图层事件 layer.on('click', (ev)=>{}); // 鼠标左键点击图层事件

View File

@ -39,18 +39,21 @@ order: 0
### 初始化 L7 Scene ### 初始化 L7 Scene
``` javascript
``` javascript ``` javascript
const scene = new L7.Scene({ const scene = new L7.Scene({
id: 'map', id: 'map',
map: new L7.Mapbox({
style: 'dark', // 样式URL style: 'dark', // 样式URL
center: [120.19382669582967, 30.258134], center: [120.19382669582967, 30.258134],
pitch: 0, pitch: 0,
zoom: 12, zoom: 12,
type:'mapbox', token: 'mapbox token',
token: 'mapbox token' }),
}); });
``` ```
这样我们就完成了通过L7 实例化mapbox地图 这样我们就完成了通过L7 实例化mapbox地图
@ -116,12 +119,13 @@ fetch('https://gw.alipayobjects.com/os/rmsportal/oVTMqfzuuRFKiDwhPSFL.json')
<script> <script>
const scene = new L7.Scene({ const scene = new L7.Scene({
id: 'map', id: 'map',
map: new L7.Mapbox({
style: 'dark', // 样式URL style: 'dark', // 样式URL
center: [120.19382669582967, 30.258134], center: [120.19382669582967, 30.258134],
pitch: 0, pitch: 0,
zoom: 12, zoom: 12,
type:'amap', token: 'mapbox token',
}),
}); });
fetch('https://gw.alipayobjects.com/os/rmsportal/oVTMqfzuuRFKiDwhPSFL.json') fetch('https://gw.alipayobjects.com/os/rmsportal/oVTMqfzuuRFKiDwhPSFL.json')

View File

@ -11,6 +11,7 @@ Current version: 2.0.0-beta.10
# 使用方法 # 使用方法
## 通过L7 CDN 使用 ## 通过L7 CDN 使用
Include the L7 JS JavaScript <head> of your HTML file. Include the L7 JS JavaScript <head> of your HTML file.
@ -33,9 +34,50 @@ Install the npm package.
```bash ```bash
// L7 依赖
npm install --save @antv/l7@beta npm install --save @antv/l7@beta
// 或者 // 第三方底图依赖
yarn add --save @antv/l7@beta npm install --save @antv/l7-maps;
``` ```
### 初始化地图
#### 使用 Mapbox 底图
```javascript
import { Scene, PointLayer } from '@antv/l7';
import { GaodeMap } from '@antv/l7-maps';
const scene = new Scene({
id: 'map',
map: new GaodeMap({
pitch: 35.210526315789465,
style: 'dark',
center: [ 104.288144, 31.239692 ],
zoom: 4.4
})
});
```
#### 使用Mapbox 底图
```javascript
import { Scene, HeatmapLayer } from '@antv/l7';
import { Mapbox } from '@antv/l7-maps';
const scene = new Scene({
id: 'map',
map: new Mapbox({
style: 'dark',
pitch: 0,
center: [ 127.5671666579043, 7.445038892195569 ],
zoom: 2.632456779444394
})
});
```

View File

@ -33,9 +33,50 @@ Install the npm package.
```bash ```bash
// L7 依赖
npm install --save @antv/l7@beta npm install --save @antv/l7@beta
// 或者 // 第三方底图依赖
yarn add --save @antv/l7@beta npm install --save @antv/l7-maps;
``` ```
### 初始化地图
#### 使用 Mapbox 底图
```javascript
import { Scene, PointLayer } from '@antv/l7';
import { GaodeMap } from '@antv/l7-maps';
const scene = new Scene({
id: 'map',
map: new GaodeMap({
pitch: 35.210526315789465,
style: 'dark',
center: [ 104.288144, 31.239692 ],
zoom: 4.4
})
});
```
#### 使用Mapbox 底图
```javascript
import { Scene, HeatmapLayer } from '@antv/l7';
import { Mapbox } from '@antv/l7-maps';
const scene = new Scene({
id: 'map',
map: new Mapbox({
style: 'dark',
pitch: 0,
center: [ 127.5671666579043, 7.445038892195569 ],
zoom: 2.632456779444394
})
});
```

View File

@ -11,10 +11,10 @@ const scene = new Scene({
zoom: 4.19 zoom: 4.19
}) })
}); });
scene.render();
scene.on('loaded', () => {
addChart(); addChart();
}); scene.render();
function addChart() { function addChart() {
fetch( fetch(
'https://gw.alipayobjects.com/os/basement_prod/0b96cca4-7e83-449a-93d0-2a77053e74ab.json' 'https://gw.alipayobjects.com/os/basement_prod/0b96cca4-7e83-449a-93d0-2a77053e74ab.json'
@ -67,14 +67,14 @@ function addChart() {
.color('item', [ '#5CCEA1', '#5D7092', '#5B8FF9' ]) .color('item', [ '#5CCEA1', '#5D7092', '#5B8FF9' ])
.opacity(1); .opacity(1);
chart.render(); chart.render();
new Marker({ const marker = new Marker({
element: el element: el
}) })
.setLnglat({ .setLnglat({
lng: item.coordinates[0], lng: item.coordinates[0],
lat: item.coordinates[1] lat: item.coordinates[1]
}) });
.addTo(scene); scene.addMarker(marker);
}); });
}); });
} }

View File

@ -11,10 +11,9 @@ const scene = new Scene({
zoom: 4.19 zoom: 4.19
}) })
}); });
scene.render();
scene.on('loaded', () => {
addChart(); addChart();
}); scene.render();
function addChart() { function addChart() {
fetch( fetch(
'https://gw.alipayobjects.com/os/basement_prod/0b96cca4-7e83-449a-93d0-2a77053e74ab.json' 'https://gw.alipayobjects.com/os/basement_prod/0b96cca4-7e83-449a-93d0-2a77053e74ab.json'
@ -89,14 +88,14 @@ function addChart() {
.color('item', [ '#5CCEA1', '#5D7092', '#5B8FF9' ]) .color('item', [ '#5CCEA1', '#5D7092', '#5B8FF9' ])
.shape('sliceShape'); .shape('sliceShape');
chart.render(); chart.render();
new Marker({ const marker = new Marker({
element: el element: el
}) })
.setLnglat({ .setLnglat({
lng: item.coordinates[0], lng: item.coordinates[0],
lat: item.coordinates[1] lat: item.coordinates[1]
}) });
.addTo(scene); scene.addMarker(marker);
}); });
}); });
} }

View File

@ -44,8 +44,6 @@ const scene = new Scene({
zoom: 3.802 zoom: 3.802
}) })
}); });
scene.render();
scene.on('loaded', () => {
Promise.all([ Promise.all([
fetch( fetch(
'https://gw.alipayobjects.com/os/basement_prod/5b772136-a1f4-4fc5-9a80-9f9974b4b182.json' 'https://gw.alipayobjects.com/os/basement_prod/5b772136-a1f4-4fc5-9a80-9f9974b4b182.json'
@ -101,12 +99,11 @@ scene.on('loaded', () => {
.color('type', [ '#5CCEA1', '#5B8FF9' ]) .color('type', [ '#5CCEA1', '#5B8FF9' ])
.opacity(1); .opacity(1);
chart.render(); chart.render();
new Marker({ element: el }) const marker = new Marker({ element: el })
.setLnglat({ .setLnglat({
lng: coord[0], lng: coord[0],
lat: coord[1] lat: coord[1]
}) });
.addTo(scene); scene.addMarker(marker);
});
}); });
}); });

View File

@ -10,10 +10,9 @@ const scene = new Scene({
zoom: 4 zoom: 4
}) })
}); });
scene.render();
scene.on('loaded', () => {
addMarkers(); addMarkers();
}); scene.render();
function addMarkers() { function addMarkers() {
fetch( fetch(
@ -28,11 +27,11 @@ function addMarkers() {
el.textContent = nodes[i].v + '℃'; el.textContent = nodes[i].v + '℃';
el.style.background = getColor(nodes[i].v); el.style.background = getColor(nodes[i].v);
el.style.borderColor = getColor(nodes[i].v); el.style.borderColor = getColor(nodes[i].v);
new Marker({ const marker = new Marker({
element: el element: el
}) })
.setLnglat({ lng: nodes[i].x * 1, lat: nodes[i].y }) .setLnglat({ lng: nodes[i].x * 1, lat: nodes[i].y });
.addTo(scene); scene.addMarker(marker);
} }
}); });
} }

View File

@ -1,8 +1,8 @@
import { Scene, Marker, Popup } from '@antv/l7'; import { Scene, Marker, Popup } from '@antv/l7';
import { GaodeMap } from '@antv/l7-maps'; import { Mapbox } from '@antv/l7-maps';
const scene = new Scene({ const scene = new Scene({
id: 'map', id: 'map',
map: new GaodeMap({ map: new Mapbox({
style: 'light', style: 'light',
pitch: 0, pitch: 0,
center: [ 121.4316962, 31.26082325 ], center: [ 121.4316962, 31.26082325 ],

View File

@ -33,7 +33,7 @@
"inversify-logging": "^0.2.1", "inversify-logging": "^0.2.1",
"load-styles": "^2.0.0" "load-styles": "^2.0.0"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -43,7 +43,7 @@
"@types/lodash": "^4.14.138", "@types/lodash": "^4.14.138",
"@types/viewport-mercator-project": "^6.1.0" "@types/viewport-mercator-project": "^6.1.0"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -11,11 +11,11 @@ export default class MarkerService implements IMarkerService {
private markers: IMarker[] = []; private markers: IMarker[] = [];
private unAddMarkers: IMarker[] = []; private unAddMarkers: IMarker[] = [];
public addMarker(marker: IMarker): void { public addMarker(marker: IMarker): void {
if (!this.mapsService.map) { if (!this.mapsService.map && this.mapsService.getMarkerContainer()) {
this.unAddMarkers.push(marker);
} else {
this.markers.push(marker); this.markers.push(marker);
marker.addTo(this.scene); marker.addTo(this.scene);
} else {
this.unAddMarkers.push(marker);
} }
} }
public addMarkers(): void { public addMarkers(): void {

View File

@ -29,7 +29,7 @@
"@antv/l7-maps": "^2.0.0-beta.11", "@antv/l7-maps": "^2.0.0-beta.11",
"@antv/l7-scene": "^2.0.0-beta.11" "@antv/l7-scene": "^2.0.0-beta.11"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -49,7 +49,7 @@
"@types/gl-matrix": "^2.4.5", "@types/gl-matrix": "^2.4.5",
"@types/lodash": "^4.14.138" "@types/lodash": "^4.14.138"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -36,7 +36,7 @@
"@types/mapbox-gl": "^0.54.3", "@types/mapbox-gl": "^0.54.3",
"@types/viewport-mercator-project": "^6.1.0" "@types/viewport-mercator-project": "^6.1.0"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -30,7 +30,7 @@
"reflect-metadata": "^0.1.13", "reflect-metadata": "^0.1.13",
"regl": "^1.3.11" "regl": "^1.3.11"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -32,7 +32,7 @@
"mapbox-gl": "^1.2.1", "mapbox-gl": "^1.2.1",
"reflect-metadata": "^0.1.13" "reflect-metadata": "^0.1.13"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -49,7 +49,7 @@
"@types/lodash": "^4.14.138", "@types/lodash": "^4.14.138",
"@types/viewport-mercator-project": "^6.1.0" "@types/viewport-mercator-project": "^6.1.0"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -36,7 +36,7 @@
"@types/gl-matrix": "^2.4.5", "@types/gl-matrix": "^2.4.5",
"@types/lodash": "^4.14.138" "@types/lodash": "^4.14.138"
}, },
"gitHead": "0563f357f3a07c099bf1ffa9350e6fa3c88353ae", "gitHead": "5360c93be63ef4d8d580ca9fafd8fb05cb5fbe30",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -1,6 +1,6 @@
// @ts-ignore // @ts-ignore
import { Marker, PolygonLayer, Scene } from '@antv/l7'; import { Marker, PolygonLayer, Scene } from '@antv/l7';
import { Mapbox } from '@antv/l7-maps'; import { Mapbox, GaodeMap } from '@antv/l7-maps';
import * as React from 'react'; import * as React from 'react';
export default class MarkerComponent extends React.Component { export default class MarkerComponent extends React.Component {
@ -18,7 +18,7 @@ export default class MarkerComponent extends React.Component {
const scene = new Scene({ const scene = new Scene({
id: 'map', id: 'map',
map: new Mapbox({ map: new Mapbox({
style: 'mapbox://styles/mapbox/streets-v9', style: 'dark',
center: [110.19382669582967, 30.258134], center: [110.19382669582967, 30.258134],
pitch: 0, pitch: 0,
zoom: 3, zoom: 3,
@ -43,14 +43,12 @@ export default class MarkerComponent extends React.Component {
opacity: 0.3, opacity: 0.3,
}); });
scene.addLayer(layer); scene.addLayer(layer);
scene.on('loaded', () => { const marker = new Marker().setLnglat({
new Marker()
.setLnglat({
lng: 120.19382669582967, lng: 120.19382669582967,
lat: 30.258134, lat: 30.258134,
})
.addTo(scene);
}); });
scene.addMarker(marker);
} }
public render() { public render() {

View File

@ -43,17 +43,16 @@ export default class PopupComponent extends React.Component {
opacity: 0.3, opacity: 0.3,
}); });
scene.addLayer(layer); scene.addLayer(layer);
scene.on('loaded', () => { const popup = new Popup({
new Popup({
offsets: [0, 20], offsets: [0, 20],
}) })
.setLnglat({ .setLnglat({
lng: 120.19382669582967, lng: 120.19382669582967,
lat: 30.258134, lat: 30.258134,
}) })
.setText('hello') .setText('hello');
.addTo(scene); scene.addPopup(popup);
});
} }
public render() { public render() {

View File

@ -43,10 +43,9 @@ export default class ScaleComponent extends React.Component {
opacity: 0.3, opacity: 0.3,
}); });
scene.addLayer(layer); scene.addLayer(layer);
scene.on('loaded', () => {
const scaleControl = new Scale(); const scaleControl = new Scale();
scene.addControl(scaleControl); scene.addControl(scaleControl);
});
} }
public render() { public render() {

View File

@ -44,12 +44,10 @@ export default class ZoomComponent extends React.Component {
opacity: 0.3, opacity: 0.3,
}); });
scene.addLayer(layer); scene.addLayer(layer);
scene.on('loaded', () => {
const zoomControl = new Zoom({ const zoomControl = new Zoom({
position: 'bottomright', position: 'bottomright',
}); });
scene.addControl(zoomControl); scene.addControl(zoomControl);
});
} }
public render() { public render() {