Fix cluster issue (#1228)

* fix: d3 依赖版本ie 兼容问题

* chore: 修复冲突

* fix(cluster layer): 聚合图更新

* fix: 代码格式

* chore: 移除ci mirror giteee ghpage 同步

* chore: pakagejson
This commit is contained in:
@thinkinggis 2022-07-12 19:25:36 +08:00 committed by GitHub
parent e7c5ba79ed
commit 0604ef3527
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 1600 additions and 1740 deletions

View File

@ -17,14 +17,3 @@ jobs:
# 注意替换为你的 Gitee 目标仓库地址
destination-repo: 'git@gitee.com:antv-l7/antv-l7.git'
- name: ✅ Build Gitee Pages
uses: yanglbme/gitee-pages-action@master
with:
# 注意替换为你的 Gitee 用户名
gitee-username: afc163
# 注意在 Settings->Secrets 配置 GITEE_PASSWORD
gitee-password: ${{ secrets.GITEE_PASSWORD }}
# 注意替换为你的 Gitee 仓库
gitee-repo: antv-l7/antv-l7
# 要部署的分支
branch: gh-pages

View File

@ -29,6 +29,7 @@
"@commitlint/cli": "^8.1.0",
"@commitlint/config-conventional": "^8.1.0",
"@loadable/component": "^5.15.0",
"@material-ui/core": "^4.10.2",
"@rollup/plugin-alias": "2.2.0",
"@rollup/plugin-commonjs": "11.0.2",
"@rollup/plugin-json": "^4.0.0",
@ -89,7 +90,6 @@
"lerc": "^3.0.0",
"jest": "^24.9.0",
"jest-electron": "^0.1.11",
"@material-ui/core": "^4.10.2",
"jest-styled-components": "^6.2.1",
"lerna": "^3.16.4",
"lint-staged": "^9.2.4",
@ -207,7 +207,5 @@
},
"tnpm": {
"mode": "yarn"
},
"dependencies": {
}
}

View File

@ -40,15 +40,15 @@ export default class DataSourcePlugin implements ILayerPlugin {
private updateClusterData(layer: ILayer): boolean {
const source = layer.getSource();
const cluster = source.cluster;
const { zoom = 0, maxZoom = 16 } = source.clusterOptions;
const { zoom = 0 } = source.clusterOptions;
const newZoom = this.mapService.getZoom() - 1;
const dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
if (cluster && dataSourceNeedUpdate) {
// 数据发生更新
source.updateClusterData(Math.floor(newZoom));
}
// 如果 dataSource 有更新,跳过 zoom 的判断,直接更新一次
if (
cluster &&
(dataSourceNeedUpdate || Math.abs(layer.clusterZoom - newZoom) >= 1)
) {
// TODO 判断数据是否更新
if (cluster && Math.abs(layer.clusterZoom - newZoom) >= 1) {
if (zoom !== Math.floor(newZoom)) {
source.updateClusterData(Math.floor(newZoom));
}

View File

@ -1,265 +0,0 @@
import { LineLayer, PolygonLayer, Scene } from '@antv/l7';
import { CountryLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
export default class Country extends React.Component {
// @ts-ignore
private scene: Scene;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 3,
minZoom: 0,
maxZoom: 15,
}),
});
const ProvinceData = [
{
name: '云南省',
code: 530000,
value: 17881.12,
},
{
name: '黑龙江省',
code: 230000,
value: 16361.62,
},
{
name: '贵州省',
code: 520000,
value: 14806.45,
},
{
name: '北京市',
code: 110000,
value: 30319.98,
},
{
name: '河北省',
code: 130000,
value: 36010.27,
},
{
name: '山西省',
code: 140000,
value: 16818.11,
},
{
name: '吉林省',
code: 220000,
value: 15074,
},
{
name: '宁夏回族自治区',
code: 640000,
value: 3705.18,
},
{
name: '辽宁省',
code: 210000,
value: 25315.35,
},
{
name: '海南省',
code: 460000,
value: 4832.05,
},
{
name: '内蒙古自治区',
code: 150000,
value: 17289.22,
},
{
name: '天津市',
code: 120000,
value: 18809.64,
},
{
name: '新疆维吾尔自治区',
code: 650000,
value: 12199.08,
},
{
name: '上海市',
code: 310000,
value: 32679.87,
},
{
name: '陕西省',
code: 610000,
value: 24438.32,
},
{
name: '甘肃省',
code: 620000,
value: 8246.07,
},
{
name: '安徽省',
code: 340000,
value: 30006.82,
},
{
name: '香港特别行政区',
code: 810000,
value: 0,
},
{
name: '广东省',
code: 440000,
value: 97277.77,
},
{
name: '河南省',
code: 410000,
value: 48055.86,
},
{
name: '湖南省',
code: 430000,
value: 36425.78,
},
{
name: '江西省',
code: 360000,
value: 21984.78,
},
{
name: '四川省',
code: 510000,
value: 40678.13,
},
{
name: '广西壮族自治区',
code: 450000,
value: 20353.51,
},
{
name: '江苏省',
code: 320000,
value: 92595.4,
},
{
name: '澳门特别行政区',
code: 820000,
value: null,
},
{
name: '浙江省',
code: 330000,
value: 56197.15,
},
{
name: '山东省',
code: 370000,
value: 76469.67,
},
{
name: '青海省',
code: 630000,
value: 2865.23,
},
{
name: '重庆市',
code: 500000,
value: 20363.19,
},
{
name: '福建省',
code: 350000,
value: 35804.04,
},
{
name: '湖北省',
code: 420000,
value: 39366.55,
},
{
name: '西藏自治区',
code: 540000,
value: 1477.63,
},
{
name: '台湾省',
code: 710000,
value: null,
},
];
scene.on('loaded', () => {
const Layer = new CountryLayer(scene, {
visible: true,
data: ProvinceData,
geoDataLevel: 1,
joinBy: ['NAME_CHN', 'name'],
showBorder: true,
provinceStroke: 'red',
label: {
field: 'name',
size: 10,
padding: [5, 5],
textAllowOverlap: true,
},
depth: 1,
fill: {
color: {
field: 'NAME_CHN',
values: [
'#feedde',
'#fdd0a2',
'#fdae6b',
'#fd8d3c',
'#e6550d',
'#a63603',
],
},
},
popup: {
enable: true,
Html: (props) => {
return `<span>${props.NAME_CHN}:</span><span>${props.value}</span>`;
},
},
});
Layer.on('loaded', () => {
// const filldata = Layer.getFillData();
// const border = new LineLayer({
// zIndex: 5, // 设置显示层级
// })
// .source(filldata)
// .shape('line')
// .size(4)
// .color('#a00')
// .style({
// opacity: 1,
// });
// scene.addLayer(border);
});
});
this.scene = scene;
}
public render() {
return (
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
);
}
}

View File

@ -1,294 +0,0 @@
import { Scene } from '@antv/l7';
import { CountryLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
export default class Country extends React.Component {
// @ts-ignore
private scene: Scene;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 3,
minZoom: 1,
maxZoom: 4,
}),
});
const ProvinceData = [
{
name: '云南省',
code: 530000,
value: 17881.12,
},
{
name: '黑龙江省',
code: 230000,
value: 16361.62,
},
{
name: '贵州省',
code: 520000,
value: 14806.45,
},
{
name: '北京市',
code: 110000,
value: 30319.98,
},
{
name: '河北省',
code: 130000,
value: 36010.27,
},
{
name: '山西省',
code: 140000,
value: 16818.11,
},
{
name: '吉林省',
code: 220000,
value: 15074,
},
{
name: '宁夏回族自治区',
code: 640000,
value: 3705.18,
},
{
name: '辽宁省',
code: 210000,
value: 25315.35,
},
{
name: '海南省',
code: 460000,
value: 4832.05,
},
{
name: '内蒙古自治区',
code: 150000,
value: 17289.22,
},
{
name: '天津市',
code: 120000,
value: 18809.64,
},
{
name: '新疆维吾尔自治区',
code: 650000,
value: 12199.08,
},
{
name: '上海市',
code: 310000,
value: 32679.87,
},
{
name: '陕西省',
code: 610000,
value: 24438.32,
},
{
name: '甘肃省',
code: 620000,
value: 8246.07,
},
{
name: '安徽省',
code: 340000,
value: 30006.82,
},
{
name: '香港特别行政区',
code: 810000,
value: 0,
},
{
name: '广东省',
code: 440000,
value: 97277.77,
},
{
name: '河南省',
code: 410000,
value: 48055.86,
},
{
name: '湖南省',
code: 430000,
value: 36425.78,
},
{
name: '江西省',
code: 360000,
value: 21984.78,
},
{
name: '四川省',
code: 510000,
value: 40678.13,
},
{
name: '广西壮族自治区',
code: 450000,
value: 20353.51,
},
{
name: '江苏省',
code: 320000,
value: 92595.4,
},
{
name: '澳门特别行政区',
code: 820000,
value: null,
},
{
name: '浙江省',
code: 330000,
value: 56197.15,
},
{
name: '山东省',
code: 370000,
value: 76469.67,
},
{
name: '青海省',
code: 630000,
value: 2865.23,
},
{
name: '重庆市',
code: 500000,
value: 20363.19,
},
{
name: '福建省',
code: 350000,
value: 35804.04,
},
{
name: '湖北省',
code: 420000,
value: 39366.55,
},
{
name: '西藏自治区',
code: 540000,
value: 1477.63,
},
{
name: '台湾省',
code: 710000,
value: null,
},
];
scene.on('loaded', () => {
const Layer = new CountryLayer(scene, {
data: ProvinceData,
depth: 1,
joinBy: ['NAME_CHN', 'name'],
fill: {
scale: 'quantile',
color: {
field: 'value',
values: [
'#feedde',
'#fdd0a2',
'#fdae6b',
'#fd8d3c',
'#e6550d',
'#a63603',
],
},
},
});
});
this.scene = scene;
const scene2 = new Scene({
id: 'map2',
logoVisible: false,
map: new Mapbox({
center: [113.60540108435657, 12.833692637803168],
pitch: 0,
style: 'blank',
zoom: 1.93,
minZoom: 0,
maxZoom: 3,
interactive: false,
}),
});
scene2.on('loaded', () => {
const Layer2 = new CountryLayer(scene2, {
data: ProvinceData,
label: {
enable: false,
},
popup: {
enable: false,
},
autoFit: false,
// label: {
// field: 'NAME_CHN',
// textAllowOverlap: true,
// },
depth: 1,
joinBy: ['NAME_CHN', 'name'],
fill: {
scale: 'quantile',
color: {
field: 'value',
values: [
'#feedde',
'#fdd0a2',
'#fdae6b',
'#fd8d3c',
'#e6550d',
'#a63603',
],
},
},
});
});
}
public render() {
return (
<>
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
<div
id="map2"
style={{
position: 'absolute',
height: '125px',
width: '98px',
right: '100px',
bottom: '20px',
border: '1px solid #333',
}}
/>
</>
);
}
}

View File

@ -1,116 +0,0 @@
import { Scene } from '@antv/l7';
import { CityLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import { Cascader } from 'antd';
import * as React from 'react';
export default class Country extends React.Component {
public state = {
options: [],
};
// @ts-ignore
private scene: Scene;
private cityLayer: CityLayer;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const res = await fetch(
'https://gw.alipayobjects.com/os/bmw-prod/551e3ca6-6dad-421b-a8b4-b225e47f73ca.json',
);
const options = await res.json();
this.setState({
options,
});
const response = await fetch(
'https://gw.alipayobjects.com/os/bmw-prod/149b599d-21ef-4c24-812c-20deaee90e20.json',
);
const provinceData = await response.json();
const data = Object.keys(provinceData).map((key: string) => {
return {
code: parseInt(key),
name: provinceData[key][0],
pop: provinceData[key][2] * 1,
};
});
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 3,
minZoom: 3,
maxZoom: 10,
}),
});
scene.on('loaded', () => {
this.cityLayer = new CityLayer(scene, {
data,
joinBy: ['adcode', 'code'],
adcode: ['330000', '330100'],
depth: 3,
label: {
field: 'NAME_CHN',
textAllowOverlap: false,
},
bubble: {
enable: true,
color: {
field: 'pop',
values: [
'#feedde',
'#fdd0a2',
'#fdae6b',
'#fd8d3c',
'#e6550d',
'#a63603',
],
},
},
popup: {
enable: true,
Html: (props) => {
return `<span>${props.NAME_CHN}:</span><span>${props.pop}</span>`;
},
},
});
});
this.scene = scene;
}
public render() {
return (
<>
<Cascader
style={{
width: 200,
zIndex: 2,
position: 'absolute',
right: '10px',
top: '10px',
}}
options={this.state.options}
defaultValue={['330000', '330100']}
onChange={this.handleProvinceChange}
placeholder="Please select"
/>
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
</>
);
}
private handleProvinceChange = (value: string[]) => {
this.cityLayer.updateDistrict([value[1]]);
};
}

View File

@ -1,257 +0,0 @@
import { Scene } from '@antv/l7';
import { CountryLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
export default class Country extends React.Component {
// @ts-ignore
private scene: Scene;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 3,
minZoom: 0,
maxZoom: 10,
}),
});
const ProvinceData = [
{
name: '云南省',
code: 530000,
value: 17881.12,
},
{
name: '黑龙江省',
code: 230000,
value: 16361.62,
},
{
name: '贵州省',
code: 520000,
value: 14806.45,
},
{
name: '北京市',
code: 110000,
value: 30319.98,
},
{
name: '河北省',
code: 130000,
value: 36010.27,
},
{
name: '山西省',
code: 140000,
value: 16818.11,
},
{
name: '吉林省',
code: 220000,
value: 15074,
},
{
name: '宁夏回族自治区',
code: 640000,
value: 3705.18,
},
{
name: '辽宁省',
code: 210000,
value: 25315.35,
},
{
name: '海南省',
code: 460000,
value: 4832.05,
},
{
name: '内蒙古自治区',
code: 150000,
value: 17289.22,
},
{
name: '天津市',
code: 120000,
value: 18809.64,
},
{
name: '新疆维吾尔自治区',
code: 650000,
value: 12199.08,
},
{
name: '上海市',
code: 310000,
value: 32679.87,
},
{
name: '陕西省',
code: 610000,
value: 24438.32,
},
{
name: '甘肃省',
code: 620000,
value: 8246.07,
},
{
name: '安徽省',
code: 340000,
value: 30006.82,
},
{
name: '香港特别行政区',
code: 810000,
value: 0,
},
{
name: '广东省',
code: 440000,
value: 97277.77,
},
{
name: '河南省',
code: 410000,
value: 48055.86,
},
{
name: '湖南省',
code: 430000,
value: 36425.78,
},
{
name: '江西省',
code: 360000,
value: 21984.78,
},
{
name: '四川省',
code: 510000,
value: 40678.13,
},
{
name: '广西壮族自治区',
code: 450000,
value: 20353.51,
},
{
name: '江苏省',
code: 320000,
value: 92595.4,
},
{
name: '澳门特别行政区',
code: 820000,
value: null,
},
{
name: '浙江省',
code: 330000,
value: 56197.15,
},
{
name: '山东省',
code: 370000,
value: 76469.67,
},
{
name: '青海省',
code: 630000,
value: 2865.23,
},
{
name: '重庆市',
code: 500000,
value: 20363.19,
},
{
name: '福建省',
code: 350000,
value: 35804.04,
},
{
name: '湖北省',
code: 420000,
value: 39366.55,
},
{
name: '西藏自治区',
code: 540000,
value: 1477.63,
},
{
name: '台湾省',
code: 710000,
value: null,
},
];
const ProvinceData2 = [
{
name: '云南省',
code: 530000,
value: 178810.12,
},
{
name: '黑龙江省',
code: 230000,
value: 163610.62,
},
{
name: '贵州省',
code: 520000,
value: 148060.45,
},
];
scene.on('loaded', () => {
const Layer = new CountryLayer(scene, {
data: ProvinceData,
joinBy: ['NAME_CHN', 'name'],
depth: 1,
bubble: {
enable: true,
size: {
field: 'value',
values: [8, 20],
},
},
popup: {
enable: true,
Html: (props: any) => {
return `<span>${props.NAME_CHN}:</span><span>${props.value}</span>`;
},
},
});
setTimeout(() => {
Layer.updateData(ProvinceData2);
}, 2000);
});
this.scene = scene;
}
public render() {
return (
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
);
}
}

View File

@ -1,67 +0,0 @@
import { Scene } from '@antv/l7';
import { CountryLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
export default class Country extends React.Component {
// @ts-ignore
private scene: Scene;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 3,
minZoom: 3,
maxZoom: 10,
}),
});
scene.on('loaded', () => {
const Layer = new CountryLayer(scene, {
data: [],
geoDataLevel: 2,
depth: 2,
showBorder: false,
provinceStroke: '#783D2D',
cityStroke: '#EBCCB4',
coastlineWidth: 0.5,
nationalWidth: 0.5,
fill: {
color: {
field: 'NAME_CHN',
values: ['#D92568', '#E3507E', '#FC7AAB', '#F1D3E5', '#F2EEFF'],
},
},
popup: {
enable: true,
Html: (props: any) => {
return `<span>${props.NAME_CHN}</span>`;
},
},
});
});
this.scene = scene;
}
public render() {
return (
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
);
}
}

View File

@ -1,72 +0,0 @@
import { Scene } from '@antv/l7';
import { CountryLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
export default class Country extends React.Component {
// @ts-ignore
private scene: Scene;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 3,
minZoom: 3,
maxZoom: 10,
}),
});
scene.on('loaded', () => {
const Layer = new CountryLayer(scene, {
data: [],
depth: 3,
stroke: '#fff',
strokeWidth: 1,
coastlineWidth: 0.5,
nationalWidth: 0.5,
fill: {
color: {
field: 'NAME_CHN',
values: [
'#feedde',
'#fdd0a2',
'#fdae6b',
'#fd8d3c',
'#e6550d',
'#a63603',
],
},
},
popup: {
enable: true,
Html: (props: any) => {
return `<span>${props.NAME_CHN}</span>`;
},
},
});
});
this.scene = scene;
}
public render() {
return (
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
);
}
}

View File

@ -1,102 +0,0 @@
import { Scene } from '@antv/l7';
import { CountyLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import { Cascader } from 'antd';
import * as React from 'react';
export default class Country extends React.Component {
public state = {
options: [],
};
// @ts-ignore
private scene: Scene;
private countyLayer: CountyLayer;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const res = await fetch(
'https://gw.alipayobjects.com/os/bmw-prod/04de56cc-5998-4f7e-9ad3-e87e9ac5fd39.json',
);
const options = await res.json();
this.setState({
options,
});
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 3,
minZoom: 3,
maxZoom: 10,
}),
});
scene.on('loaded', () => {
this.countyLayer = new CountyLayer(scene, {
data: [],
adcode: ['110101'],
depth: 3,
label: {
field: 'NAME_CHN',
},
fill: {
color: {
field: 'NAME_CHN',
values: [
'#feedde',
'#fdd0a2',
'#fdae6b',
'#fd8d3c',
'#e6550d',
'#a63603',
],
},
},
popup: {
enable: true,
Html: (props) => {
return `<span>${props.NAME_CHN}</span>`;
},
},
});
});
this.scene = scene;
}
public render() {
return (
<>
<Cascader
style={{
width: 200,
zIndex: 2,
position: 'absolute',
right: '10px',
top: '10px',
}}
options={this.state.options}
defaultValue={['110000', '110100', '110101']}
onChange={this.handleProvinceChange}
placeholder="Please select"
/>
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
</>
);
}
private handleProvinceChange = (value: string[]) => {
this.countyLayer.updateDistrict([value[2]]);
};
}

View File

@ -1,102 +0,0 @@
import { Scene } from '@antv/l7';
import { DrillDownLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
export default class Country extends React.Component {
public state = {
options: [],
};
// @ts-ignore
private scene: Scene;
private drillDown: DrillDownLayer;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'dark',
zoom: 3,
minZoom: 3,
maxZoom: 10,
}),
});
scene.on('loaded', () => {
this.scene = scene;
// @ts-ignore
window.scene = scene;
console.log(scene);
this.drillDown = new DrillDownLayer(scene, {
drillDepth: 2,
geoDataLevel: 2,
joinBy: ['NAME_CHN', 'name'],
provinceData: [
{
name: '青海省',
value: '1223',
},
],
cityData: [
{
name: '海东市',
value: '1223e',
},
],
countyData: [
{
name: '平安区',
value: '456',
},
],
fill: {
color: {
field: 'NAME_CHN',
values: [
'#f7fbff',
'#deebf7',
'#c6dbef',
'#9ecae1',
'#6baed6',
'#4292c6',
'#2171b5',
'#08519c',
'#08306b',
],
},
},
drillDownEvent: () => {
console.log(scene);
},
popup: {
enable: true,
Html: (props) => {
return `<span>${props.NAME_CHN} ${props.value}</span>`;
},
},
});
});
}
public render() {
return (
<>
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
</>
);
}
}

View File

@ -1,285 +0,0 @@
import { Scene } from '@antv/l7';
import { ProvinceLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
// tslint:disable-next-line:no-submodule-imports
import { Select } from 'antd';
import * as React from 'react';
const { Option } = Select;
const ProvinceData = [
{
NAME_CHN: '云南省',
adcode: 530000,
value: 17881.12,
},
{
NAME_CHN: '黑龙江省',
adcode: 230000,
value: 16361.62,
},
{
NAME_CHN: '贵州省',
adcode: 520000,
value: 14806.45,
},
{
NAME_CHN: '北京市',
adcode: 110000,
value: 30319.98,
},
{
NAME_CHN: '河北省',
adcode: 130000,
value: 36010.27,
},
{
NAME_CHN: '山西省',
adcode: 140000,
value: 16818.11,
},
{
NAME_CHN: '吉林省',
adcode: 220000,
value: 15074,
},
{
NAME_CHN: '宁夏回族自治区',
adcode: 640000,
value: 3705.18,
},
{
NAME_CHN: '辽宁省',
adcode: 210000,
value: 25315.35,
},
{
NAME_CHN: '海南省',
adcode: 460000,
value: 4832.05,
},
{
NAME_CHN: '内蒙古自治区',
adcode: 150000,
value: 17289.22,
},
{
NAME_CHN: '天津市',
adcode: 120000,
value: 18809.64,
},
{
NAME_CHN: '新疆维吾尔自治区',
adcode: 650000,
value: 12199.08,
},
{
NAME_CHN: '上海市',
adcode: 310000,
value: 32679.87,
},
{
NAME_CHN: '陕西省',
adcode: 610000,
value: 24438.32,
},
{
NAME_CHN: '甘肃省',
adcode: 620000,
value: 8246.07,
},
{
NAME_CHN: '安徽省',
adcode: 340000,
value: 30006.82,
},
{
NAME_CHN: '香港特别行政区',
adcode: 810000,
value: 0,
},
{
NAME_CHN: '广东省',
adcode: 440000,
value: 97277.77,
},
{
NAME_CHN: '河南省',
adcode: 410000,
value: 48055.86,
},
{
NAME_CHN: '湖南省',
adcode: 430000,
value: 36425.78,
},
{
NAME_CHN: '江西省',
adcode: 360000,
value: 21984.78,
},
{
NAME_CHN: '四川省',
adcode: 510000,
value: 40678.13,
},
{
NAME_CHN: '广西壮族自治区',
adcode: 450000,
value: 20353.51,
},
{
NAME_CHN: '江苏省',
adcode: 320000,
value: 92595.4,
},
{
NAME_CHN: '澳门特别行政区',
adcode: 820000,
value: null,
},
{
NAME_CHN: '浙江省',
adcode: 330000,
value: 56197.15,
},
{
NAME_CHN: '山东省',
adcode: 370000,
value: 76469.67,
},
{
NAME_CHN: '青海省',
adcode: 630000,
value: 2865.23,
},
{
NAME_CHN: '重庆市',
adcode: 500000,
value: 20363.19,
},
{
NAME_CHN: '福建省',
adcode: 350000,
value: 35804.04,
},
{
NAME_CHN: '湖北省',
adcode: 420000,
value: 39366.55,
},
{
NAME_CHN: '西藏自治区',
adcode: 540000,
value: 1477.63,
},
{
NAME_CHN: '台湾省',
adcode: 710000,
value: null,
},
];
export default class Country extends React.Component {
public state = {
province: '110000',
};
// @ts-ignore
private scene: Scene;
private provinceLayer: ProvinceLayer;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const response = await fetch(
'https://gw.alipayobjects.com/os/bmw-prod/149b599d-21ef-4c24-812c-20deaee90e20.json',
);
const provinceData = await response.json();
const data = Object.keys(provinceData).map((key: string) => {
return {
code: key,
name: provinceData[key][0],
pop: provinceData[key][3],
};
});
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 3,
minZoom: 3,
maxZoom: 10,
}),
});
scene.on('loaded', () => {
const { province } = this.state;
this.provinceLayer = new ProvinceLayer(scene, {
data,
geoDataLevel: 1,
joinBy: ['adcode', 'code'],
adcode: [],
stroke: '#7096B3',
depth: 2,
showBorder: false,
label: {
enable: true,
},
fill: {
color: '#A3D7FF',
},
popup: {
enable: false,
Html: (props) => {
return `<span>${props.NAME_CHN}:</span><span>${props.pop}</span>`;
},
},
});
});
this.scene = scene;
}
public render() {
return (
<>
<Select
defaultValue="北京市"
style={{
width: 120,
zIndex: 2,
position: 'absolute',
right: '10px',
top: '10px',
}}
onChange={this.handleProvinceChange}
>
{ProvinceData.map((province, i) => {
return (
<Option key={i} value={province.adcode}>
{province.NAME_CHN}
</Option>
);
})}
</Select>
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
</>
);
}
private handleProvinceChange = (value: string) => {
this.setState({
province: value,
});
this.provinceLayer.updateDistrict([value]);
};
}

View File

@ -1,87 +0,0 @@
import { Scene } from '@antv/l7';
import { WorldLayer } from '@antv/l7-district';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
export default class Country extends React.Component {
// @ts-ignore
private scene: Scene;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const scene = new Scene({
id: 'map',
map: new Mapbox({
center: [116.2825, 39.9],
pitch: 0,
style: 'blank',
zoom: 0,
minZoom: 0,
maxZoom: 10,
}),
});
scene.on('loaded', () => {
const Layer = new WorldLayer(scene, {
data: [],
geoDataLevel: 2,
joinBy: ['SOC', 'SOC'],
fill: {
color: {
field: 'NAME_CHN',
values: [
'#feedde',
'#fdd0a2',
'#fdae6b',
'#fd8d3c',
'#e6550d',
'#a63603',
],
},
},
stroke: '#ccc',
label: {
enable: true,
textAllowOverlap: false,
field: 'NAME_ENG',
padding: [5, 5],
},
popup: {
// enable: true,
enable: false,
Html: (props) => {
return `<span>${props.NAME_CHN}</span>`;
},
},
});
console.time('layer');
Layer.on('loaded', () => {
console.timeEnd('layer');
});
console.log('======');
Layer.on('click', (e: any) => {
// alert(e);
console.log(e);
// alert(1)
});
});
this.scene = scene;
}
public render() {
return (
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
);
}
}

View File

@ -1,25 +0,0 @@
import { storiesOf } from '@storybook/react';
require('./../assets/css/antd.css');
import * as React from 'react';
// import City from './Layer/city';
import Country from './Layer/Country';
import Country2 from './Layer/Country2';
import ChinaBubble from './Layer/country_bubble';
import CountryCity from './Layer/country_city';
import CountryCounty from './Layer/country_county';
// import County from './Layer/county';
import DrillDown from './Layer/drillDown';
import Province from './Layer/province';
import World from './Layer/world';
storiesOf('行政区划', module)
.add('世界地图', () => <World />)
.add('中国地图', () => <Country />)
.add('中国地图气泡', () => <ChinaBubble />)
.add('中国地图市级', () => <CountryCity />)
.add('中国地图县级', () => <CountryCounty />)
.add('中国地图附图', () => <Country2 />)
// .add('县级地图', () => <County />)
// .add('市级地图', () => <City />)
.add('上钻下取', () => <DrillDown />)
.add('省级地图', () => <Province />);

View File

@ -1,8 +1,8 @@
import { PointLayer, Scene } from '@antv/l7';
import { PointLayer, Scene, Source } from '@antv/l7';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
// @ts-ignore
import data from '../data/data.json';
import data1 from '../data/cluster1.json';
import data2 from '../data/cluster2.json';
export default class Point3D extends React.Component {
// @ts-ignore
private scene: Scene;
@ -14,55 +14,54 @@ export default class Point3D extends React.Component {
public async componentDidMount() {
const scene = new Scene({
id: 'map',
pickBufferScale: 3.0,
map: new GaodeMap({
map: new Mapbox({
style: 'light',
center: [-121.24357, 37.58264],
pitch: 0,
zoom: 10.45,
center: [33, 15],
zoom: 8,
}),
});
scene.on('loaded', () => {
fetch(
'https://gw.alipayobjects.com/os/basement_prod/6c4bb5f2-850b-419d-afc4-e46032fc9f94.csv',
)
.then((res) => res.text())
.then((data) => {
const pointLayer = new PointLayer({})
.source(data, {
parser: {
type: 'csv',
x: 'Longitude',
y: 'Latitude',
},
cluster: true,
})
.shape('circle')
.size(8)
.active({
color: 'red',
})
.color('point_count', [
'#0A3663',
'#1558AC',
'#3771D9',
'#4D89E5',
'#64A5D3',
'#72BED6',
'#83CED6',
'#A6E1E0',
'#B8EFE2',
'#D7F9F0',
])
.style({
opacity: 1,
strokeWidth: 0,
stroke: '#fff',
});
scene.addLayer(pointLayer);
this.scene = scene;
// 模拟第一次渲染
const dataSource = new Source(data1, {
parser: {
type: 'json',
x: 'longtitude',
y: 'latitide',
},
cluster: true,
});
const pointLayer = new PointLayer({})
// 这边传入 firstData 就不会有问题
.source(dataSource)
.shape('circle')
.scale('point_count', {
type: 'quantile',
})
.size('point_count', [15, 20, 25, 30, 35])
.active(true)
.color('#CC3D00')
.style({
opacity: 1,
});
// 聚合图标注
const pointLayerText = new PointLayer({})
.source(dataSource)
.shape('point_count', 'text')
.size(15)
.color('#fff')
.style({
opacity: 1,
strokeWidth: 0,
stroke: '#fff',
});
scene.addLayer(pointLayer);
scene.addLayer(pointLayerText);
this.scene = scene;
// 模拟第二次渲染,样式错乱了
setTimeout(() => {
dataSource.setData(data2);
console.log(pointLayerText);
}, 2000);
});
}

View File

@ -2,7 +2,8 @@ import { PointLayer, Scene, Source } from '@antv/l7';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
// @ts-ignore
import data from '../data/data.json';
import data1 from '../data/cluster1.json';
import data2 from '../data/cluster2.json';
export default class Point3D extends React.Component {
// @ts-ignore
private scene: Scene;

View File

@ -0,0 +1,713 @@
[
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Wd",
"id": "4243255",
"lastName": "Êlzãîñ",
"latitide": 15.577836578875973,
"longtitude": 32.621107005493556,
"username": "Wdezain"
},
{
"city": "Sudan-khartoum",
"distance": 5000.0,
"firstName": "Gassan",
"id": "4999330",
"lastName": "",
"latitide": 15.559035002480446,
"longtitude": 32.605279952405226,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Mohammad",
"id": "32706759",
"lastName": "Alataya",
"latitide": 15.551707206234324,
"longtitude": 32.65386386890865,
"username": "M_alataya"
},
{
"city": "Sudan-khartoum",
"distance": 5000.0,
"firstName": "Mojtaba Hago",
"id": "36748493",
"lastName": "",
"latitide": 15.56561026073677,
"longtitude": 32.43515167806447,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "Mujtaba ahmed",
"id": "56980111",
"lastName": "",
"latitide": 15.504034217775747,
"longtitude": 32.60153176078305,
"username": "Mujtabaahmed"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "Muawia",
"id": "62143098",
"lastName": "Khalifa",
"latitide": 15.570301932353258,
"longtitude": 32.60048138836489,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "BLACK",
"id": "62625222",
"lastName": "LIGHT",
"latitide": 15.506928873774568,
"longtitude": 32.49907267175294,
"username": "BLACK0LIGHT"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "Mohamed",
"id": "71042613",
"lastName": "Idris",
"latitide": 15.55993704007305,
"longtitude": 32.65566475139099,
"username": "Moh_idris"
},
{
"city": "Sudan-khartoum",
"distance": 5000.0,
"firstName": "some2",
"id": "79648646",
"lastName": "",
"latitide": 15.566372692310392,
"longtitude": 32.58532150370012,
"username": "Somee2"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "Haf",
"id": "93532438",
"lastName": "Huma",
"latitide": 15.559184941358122,
"longtitude": 32.51925724114786,
"username": "HafHuma"
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "Abdoo",
"id": "102466054",
"lastName": "",
"latitide": 15.562660286341188,
"longtitude": 32.53496854492192,
"username": "abdullti"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Azizaო",
"id": "109686914",
"lastName": "",
"latitide": 15.557461002182803,
"longtitude": 32.58745657350051,
"username": "Zozita_Amir"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Dr.",
"id": "126972115",
"lastName": "Morphine",
"latitide": 15.521158081410565,
"longtitude": 32.63994064729353,
"username": "Saifelislam129"
},
{
"city": "Sudan-khartoum",
"distance": 5000.0,
"firstName": "أنطوان",
"id": "131084262",
"lastName": "لحد",
"latitide": 15.572999448446321,
"longtitude": 32.60921218467959,
"username": "untwan"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "Mr",
"id": "136775901",
"lastName": "Mo",
"latitide": 15.572986121791786,
"longtitude": 32.612321253429336,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "🆃",
"id": "140878581",
"lastName": "🔥",
"latitide": 15.568027855368957,
"longtitude": 32.56936717661177,
"username": "Tiumon"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "MÖżi",
"id": "141709010",
"lastName": "❥",
"latitide": 15.517316303317799,
"longtitude": 32.653583162871286,
"username": "Mohammedkross"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "MoaTasim",
"id": "147082413",
"lastName": "",
"latitide": 15.512441649104556,
"longtitude": 32.62714052326155,
"username": "Marzouge"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "Ali",
"id": "147149950",
"lastName": "Saeed",
"latitide": 15.567252858962947,
"longtitude": 32.441119834048514,
"username": "Gfdfgfdrr5"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Mr Apple",
"id": "147355904",
"lastName": "",
"latitide": 15.547111269515716,
"longtitude": 32.44441507773766,
"username": "Mrapple"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "ياسر",
"id": "151323517",
"lastName": "جكسه",
"latitide": 15.527079289749842,
"longtitude": 32.492177204665694,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "123",
"id": "153304609",
"lastName": ".",
"latitide": 15.601511930312887,
"longtitude": 32.49964605609431,
"username": "Tools1234"
},
{
"city": "Sudan-khartoum",
"distance": 5000.0,
"firstName": "Munzir",
"id": "153908295",
"lastName": "Almubark",
"latitide": 15.367640588623303,
"longtitude": 32.44771932326019,
"username": "LifeOfNarcsist"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "3bdo",
"id": "155785175",
"lastName": "Sali7😍",
"latitide": 15.508126575226235,
"longtitude": 32.63476062792354,
"username": "abdo_sali7"
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "BabooonZ😴",
"id": "156503747",
"lastName": "",
"latitide": 15.533370931644102,
"longtitude": 32.488487183571955,
"username": "BabooooonZ"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "3amerkamal",
"id": "156559545",
"lastName": "",
"latitide": 15.569240564680422,
"longtitude": 32.48748300721903,
"username": "amerkamal"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "محمد",
"id": "157596850",
"lastName": "",
"latitide": 15.555686148199547,
"longtitude": 32.64939546663666,
"username": "Napliuon"
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "Adil",
"id": "157805767",
"lastName": "Elsaeed",
"latitide": 15.603434107922439,
"longtitude": 32.63506623664385,
"username": "adilelsaeed"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "3ßĎό",
"id": "158825146",
"lastName": "3м͠èŘ",
"latitide": 15.55523682579671,
"longtitude": 32.66086512465886,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "اللهم إنك عفو كريم",
"id": "169290513",
"lastName": "تحب العفو فاعف عنا",
"latitide": 15.604412770898541,
"longtitude": 32.64202832147194,
"username": "Abdallaelhadi17"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "Hossam Ahmed",
"id": "175147328",
"lastName": "Alriah",
"latitide": 15.56859345433751,
"longtitude": 32.63691660756246,
"username": "Algeneral_Hossam"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "Mobarak",
"id": "175425237",
"lastName": "Hashim",
"latitide": 15.577399080220903,
"longtitude": 32.6635134898799,
"username": "Mobarak_hashim"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "mohamed",
"id": "177343848",
"lastName": "",
"latitide": 15.563138045811096,
"longtitude": 32.6471810260283,
"username": "moalnima"
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "Assim💙👮💥🌹",
"id": "177950497",
"lastName": ".",
"latitide": 15.54792240036038,
"longtitude": 32.44881554473545,
"username": "IbnFatho"
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "Ahmed",
"id": "179432879",
"lastName": "Elfadel",
"latitide": 15.54115102882783,
"longtitude": 32.678802430376415,
"username": "Champagnepapi89"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "nasser",
"id": "181734507",
"lastName": "",
"latitide": 15.539410550865295,
"longtitude": 32.6001459860476,
"username": "nasser_abdlgadr"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "O_o",
"id": "182060885",
"lastName": "",
"latitide": 15.529780088525133,
"longtitude": 32.46454325819168,
"username": "Amanooh_7"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "Hámöôdy",
"id": "182105425",
"lastName": "♥",
"latitide": 15.497629160507543,
"longtitude": 32.60393173038638,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "السلطان 💛 🔥",
"id": "187112777",
"lastName": "",
"latitide": 15.583336301803785,
"longtitude": 32.44051707924906,
"username": "Alsultanalsultan"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "إيمان",
"id": "187547679",
"lastName": "عبدالله",
"latitide": 15.52390349488595,
"longtitude": 32.602398586064346,
"username": "Nonoo113"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Ibrahim",
"id": "188163470",
"lastName": "Shms",
"latitide": 15.56258185995029,
"longtitude": 32.63959676074911,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Mohammed",
"id": "189192747",
"lastName": "Mahgoub",
"latitide": 15.557126617448763,
"longtitude": 32.614798913293,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "A7md",
"id": "197310860",
"lastName": "",
"latitide": 15.519161307108421,
"longtitude": 32.57965276258435,
"username": "A7mdMa7mod"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "عبد الله",
"id": "200484108",
"lastName": "حسين",
"latitide": 15.515414639696731,
"longtitude": 32.43502146046315,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 9000.0,
"firstName": "Happy",
"id": "200714009",
"lastName": "End",
"latitide": 15.573192526261716,
"longtitude": 32.44111738533718,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "Ɱổℌầᶬẽⅆ",
"id": "207335067",
"lastName": "",
"latitide": 15.529450405283857,
"longtitude": 32.640482238357095,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 5000.0,
"firstName": "Ahmed Suliman",
"id": "208333758",
"lastName": "Alomda",
"latitide": 15.514180305253445,
"longtitude": 32.4806879797854,
"username": "wadal3mda"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "(¯`*•.Stail🎼.•*´¯)",
"id": "217879332",
"lastName": "",
"latitide": 15.544717967308435,
"longtitude": 32.53144956588686,
"username": "Mstail"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "Ⓝ Ⓘ Ⓝ Ⓞ",
"id": "218919045",
"lastName": "",
"latitide": 15.556378241683767,
"longtitude": 32.79398773706229,
"username": "Grooshaby"
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "Am₲eĐ😍😎",
"id": "224088222",
"lastName": "",
"latitide": 15.602453221545321,
"longtitude": 32.62157527674166,
"username": "Amg_Taz"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "The energy of the mind",
"id": "227609800",
"lastName": "",
"latitide": 15.517008504240064,
"longtitude": 32.598254554667406,
"username": "Hamidoo3"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "SAMI",
"id": "229626969",
"lastName": "ALABWABI",
"latitide": 15.544594689054978,
"longtitude": 32.610125155324205,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "علي",
"id": "232529756",
"lastName": "مصطفي",
"latitide": 15.527888249803745,
"longtitude": 32.59913391360674,
"username": "Corazon99"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "Mohammed",
"id": "232724526",
"lastName": "Alnil",
"latitide": 15.571695317821705,
"longtitude": 32.603190768418635,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 5000.0,
"firstName": "Hossam",
"id": "236072193",
"lastName": "Moh",
"latitide": 15.555827869437627,
"longtitude": 32.611100444377236,
"username": "HosamkoOo"
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "jo",
"id": "238194669",
"lastName": "",
"latitide": 15.576201653353591,
"longtitude": 32.5753015672022,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "Omer",
"id": "239097709",
"lastName": "",
"latitide": 15.577302016243475,
"longtitude": 32.46917562887816,
"username": "Omerko"
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Abubker",
"id": "242932943",
"lastName": "Mohi Eldeen",
"latitide": 15.580765888436712,
"longtitude": 32.622970164013246,
"username": "AbubkermohiEldeen"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "Wadie",
"id": "247955819",
"lastName": "",
"latitide": 15.547908661308291,
"longtitude": 32.67048546829978,
"username": "OmerAlwdei"
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "Hassan",
"id": "255522640",
"lastName": "Abdalaati",
"latitide": 15.487935123718726,
"longtitude": 32.5871996771619,
"username": "Hassanabuwagar"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "Alhassan",
"id": "259614668",
"lastName": "",
"latitide": 15.533327604636286,
"longtitude": 32.602690805992594,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "داؤد",
"id": "259870120",
"lastName": "عبد الرحمن",
"latitide": 15.546052004929875,
"longtitude": 32.4548576675847,
"username": "daudabdu"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "اكــرم",
"id": "262062966",
"lastName": "م",
"latitide": 15.570563150416707,
"longtitude": 32.59221855992191,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 4000.0,
"firstName": "Emam",
"id": "264834798",
"lastName": "Tag",
"latitide": 15.54722213877405,
"longtitude": 32.49583304153823,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 7000.0,
"firstName": "Taj Alssir",
"id": "264861962",
"lastName": "",
"latitide": 15.60335621522236,
"longtitude": 32.480363148957515,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "أباذر الرضي |Abazer",
"id": "271489870",
"lastName": "Alrdi",
"latitide": 15.517695716009865,
"longtitude": 32.47462427114616,
"username": "AbazerAlrdi"
},
{
"city": "Sudan-khartoum",
"distance": 6000.0,
"firstName": "ابو عرب",
"id": "280051339",
"lastName": "",
"latitide": 15.571857415384578,
"longtitude": 32.60453592563049,
"username": "asoudd"
},
{
"city": "Sudan-khartoum",
"distance": 5000.0,
"firstName": "Thamer",
"id": "284456250",
"lastName": "",
"latitide": 15.51145580319057,
"longtitude": 32.6456091111217,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "Oliigo",
"id": "284721903",
"lastName": "",
"latitide": 15.544271208503,
"longtitude": 32.491163854485606,
"username": "Oliigo"
},
{
"city": "Sudan-khartoum",
"distance": 8000.0,
"firstName": "Saif",
"id": "285764636",
"lastName": "Aljan",
"latitide": 15.521372223668243,
"longtitude": 32.423171135452115,
"username": ""
},
{
"city": "Sudan-khartoum",
"distance": 9000.0,
"firstName": "Ahmed",
"id": "297033961",
"lastName": "Ibed",
"latitide": 15.607259940718714,
"longtitude": 32.465247565221425,
"username": ""
}
]

View File

@ -0,0 +1,832 @@
[
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"Motaz",
"id":"163778",
"lastName":"I Suliman",
"latitide":15.470386298543287,
"longtitude":32.511367276596324,
"username":"motazsuliman3"
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"Ahmed",
"id":"3182119",
"lastName":"Haseeb",
"latitide":15.46696134711088,
"longtitude":32.54069442387687,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"Mohammed",
"id":"3643543",
"lastName":"Nabri",
"latitide":15.56562614964313,
"longtitude":32.56377647883293,
"username":"Nabri"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Khaled",
"id":"5603002",
"lastName":"Mobarak",
"latitide":15.479823526294826,
"longtitude":32.5540342970385,
"username":"khaledSD"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Seid Ahmed",
"id":"7384879",
"lastName":"",
"latitide":15.509048440444245,
"longtitude":32.58957273814158,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"đя.м̨αƶǝи 🎓",
"id":"43750188",
"lastName":"",
"latitide":15.511142854823364,
"longtitude":32.545935778104656,
"username":"dr_mezo93"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"محمد سيف الدين",
"id":"58160699",
"lastName":"",
"latitide":15.659584420840979,
"longtitude":32.530244752916815,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Khalid",
"id":"69792337",
"lastName":"Mhsko",
"latitide":15.44723358646454,
"longtitude":32.558773090938516,
"username":"m7sko"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Khaled",
"id":"72626254",
"lastName":"fathalrhman",
"latitide":15.651259431456651,
"longtitude":32.67792408729916,
"username":"Khaledfath"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Monzer",
"id":"73124657",
"lastName":"",
"latitide":15.474874177932378,
"longtitude":32.51454144058681,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Abu",
"id":"90953853",
"lastName":"Dirar",
"latitide":15.501264471503514,
"longtitude":32.51969960036377,
"username":"Mazin932"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"Mohamed",
"id":"90958843",
"lastName":"Emad",
"latitide":15.63495744248639,
"longtitude":32.516766272030864,
"username":"mohd_93_ed"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Baraa",
"id":"91473851",
"lastName":"Hassan",
"latitide":15.507743052760683,
"longtitude":32.52071021536695,
"username":"Emelio96"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"خالدة خالد",
"id":"101969368",
"lastName":"Kh.kh",
"latitide":15.495838143308363,
"longtitude":32.503700556253676,
"username":"KKHKH20220"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Hilmi",
"id":"103731720",
"lastName":"Raafat",
"latitide":15.525077145276136,
"longtitude":32.56203283054612,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"~`Fox`~",
"id":"108778831",
"lastName":"",
"latitide":15.523476775787254,
"longtitude":32.55325020613131,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Mahmoud",
"id":"117069181",
"lastName":"Ibrahim",
"latitide":15.527674174466446,
"longtitude":32.47939165859051,
"username":"MIHHM"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Omer",
"id":"117229681",
"lastName":"Hashim",
"latitide":15.6532384931332,
"longtitude":32.531453608853326,
"username":"Omerhashim85"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"Malak",
"id":"119584265",
"lastName":"",
"latitide":15.500897383081007,
"longtitude":32.52696970185519,
"username":"MalakHamad94"
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"عُـثْـمَـاٰنٌ シ︎💙🌸",
"id":"122019109",
"lastName":"",
"latitide":15.530646529399931,
"longtitude":32.50412899752244,
"username":"OsmanGedo"
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"Ahmed",
"id":"124584266",
"lastName":"3izoo",
"latitide":15.5394177180102,
"longtitude":32.513595616726725,
"username":"Ah_3izoo"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Mohammad",
"id":"127959529",
"lastName":"Alaraki",
"latitide":15.523451184528641,
"longtitude":32.49016135244597,
"username":"RTG1443"
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"Mohmmed",
"id":"131385707",
"lastName":"Sabbir",
"latitide":15.504740426634356,
"longtitude":32.53776333403755,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Ahmed",
"id":"132016191",
"lastName":"Boshcash",
"latitide":15.475690767226656,
"longtitude":32.58647992559203,
"username":"Ahmed_Boshcash"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"yasser",
"id":"134829779",
"lastName":"betty",
"latitide":15.505046974492913,
"longtitude":32.53501384569489,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Malaz awad",
"id":"144487080",
"lastName":"",
"latitide":15.519956054113518,
"longtitude":32.53235560341868,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Mohamed",
"id":"150003735",
"lastName":"Musa",
"latitide":15.656880705140088,
"longtitude":32.525713363077415,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"Musa",
"id":"160561382",
"lastName":"",
"latitide":15.507350701167825,
"longtitude":32.53309933156537,
"username":"madisoos"
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"7asan",
"id":"162666469",
"lastName":"3bdo",
"latitide":15.698959977495488,
"longtitude":32.690700659400115,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"АНМЕД",
"id":"172440587",
"lastName":"Sabri",
"latitide":15.504865654543577,
"longtitude":32.57023101813323,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Najm",
"id":"173754304",
"lastName":"Ali",
"latitide":15.654664717393214,
"longtitude":32.529495851856666,
"username":"najm3li"
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"Ahmed",
"id":"187815810",
"lastName":"Al-Fadil",
"latitide":15.502049834939656,
"longtitude":32.49688861041339,
"username":"afm511"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"Ali",
"id":"193347138",
"lastName":"Jamal",
"latitide":15.502573021066286,
"longtitude":32.51848020054944,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"N",
"id":"197857884",
"lastName":"G.",
"latitide":15.476560386462822,
"longtitude":32.45593605975094,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Mustafa",
"id":"200283641",
"lastName":"Abdalgadir",
"latitide":15.652833834786303,
"longtitude":32.52848943893885,
"username":"Mustafa413"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Noonaa",
"id":"210760835",
"lastName":"Saad",
"latitide":15.444190224478476,
"longtitude":32.55091056388235,
"username":"Noonaa_Saad"
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Moaz",
"id":"215702350",
"lastName":"Seedahmed",
"latitide":15.609047722743453,
"longtitude":32.66651437193623,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"محمد",
"id":"216394928",
"lastName":"عوض السيد",
"latitide":15.494039963721708,
"longtitude":32.490479860656976,
"username":"Mohamedfreegapy"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Anwar",
"id":"219457071",
"lastName":"Ehab",
"latitide":15.653484469557382,
"longtitude":32.52280971218918,
"username":"Anwar00967"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Hish",
"id":"231258303",
"lastName":"Ezzo",
"latitide":15.474252602160066,
"longtitude":32.50339876583811,
"username":"Hishezzzo"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"چمال💙…",
"id":"238981495",
"lastName":"",
"latitide":15.662661574415338,
"longtitude":32.37663399200983,
"username":"jamal812"
},
{
"city":"Sudan-Ensman",
"distance":4000.0,
"firstName":"Hesham",
"id":"240293831",
"lastName":"Ibrahim",
"latitide":15.525652763915241,
"longtitude":32.51058910260949,
"username":"Heshamgolgol"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"Samer",
"id":"241109242",
"lastName":"",
"latitide":15.645264194376471,
"longtitude":32.53743055099981,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":500.0,
"firstName":"Mahdi Daoud",
"id":"249477189",
"lastName":"🐼🍁",
"latitide":15.659317670165468,
"longtitude":32.37855379805626,
"username":"Ma7assan"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Ez'oo",
"id":"257343744",
"lastName":"Salim",
"latitide":15.654219589929335,
"longtitude":32.532027154917195,
"username":"Abdalaziz1999"
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Esra",
"id":"262247133",
"lastName":"Mohy",
"latitide":15.484479308293874,
"longtitude":32.36748162648581,
"username":"Suger00"
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"ج̯͡ــد̯͡ۆ̯͡ــن̯͡ـــآ̯͡ن̯͡ـــي̯͡ “̯ 🐼💗",
"id":"263904251",
"lastName":"",
"latitide":15.479470757905117,
"longtitude":32.36778583171664,
"username":"Jedo17"
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"Alhssan",
"id":"264372194",
"lastName":"Omar",
"latitide":15.50555419474233,
"longtitude":32.53582618917785,
"username":"AlhssanOmar"
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"السمندل",
"id":"273176203",
"lastName":"❤",
"latitide":15.505400656413746,
"longtitude":32.56296292812139,
"username":"To_ofeAb_do"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"Ⓢⓐⓕⓢⓐⓕ✌😉",
"id":"273835220",
"lastName":"",
"latitide":15.659516464783271,
"longtitude":32.39155427704429,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"ود رجب",
"id":"285793101",
"lastName":"",
"latitide":15.666507212770446,
"longtitude":32.36139401551119,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Baha",
"id":"301252349",
"lastName":"Taha",
"latitide":15.454369131216488,
"longtitude":32.539476619730195,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":500.0,
"firstName":"وهبه",
"id":"328522516",
"lastName":"الصاروخ 😍✌️",
"latitide":15.649255558462794,
"longtitude":32.52316876400803,
"username":"Saro5y"
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"SIM 🐱",
"id":"331134123",
"lastName":"",
"latitide":15.465792948107072,
"longtitude":32.584705531825364,
"username":"SIM_alsool"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Mohammed",
"id":"346100402",
"lastName":"El-shref",
"latitide":15.644364696600002,
"longtitude":32.53028469937909,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Islam",
"id":"352984149",
"lastName":"",
"latitide":15.659134904856941,
"longtitude":32.38154949199058,
"username":"islam_Oomer"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"mohamed",
"id":"354990544",
"lastName":"haider",
"latitide":15.515550136921812,
"longtitude":32.588309684632115,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":4000.0,
"firstName":"waleed",
"id":"355082811",
"lastName":"Ameer",
"latitide":15.478442802506486,
"longtitude":32.51916207394463,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Mohammed",
"id":"357008819",
"lastName":"adam",
"latitide":15.64687723029553,
"longtitude":32.53728595356118,
"username":"MAAA_14"
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"Carter",
"id":"357398677",
"lastName":"",
"latitide":15.499551759874075,
"longtitude":32.48772166444428,
"username":"Ammarck"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"Abdallah",
"id":"358159668",
"lastName":"Magzoub",
"latitide":15.500577710557558,
"longtitude":32.545028618794625,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"M.Omer",
"id":"382316023",
"lastName":"",
"latitide":15.498149939902053,
"longtitude":32.56464520710836,
"username":"Emty0"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"Bashari",
"id":"411315988",
"lastName":"Bashari",
"latitide":15.655042270168117,
"longtitude":32.52631158587852,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":8000.0,
"firstName":"T.H",
"id":"412563448",
"lastName":"",
"latitide":15.553950519233002,
"longtitude":32.5056019985882,
"username":"Tarig113"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"Fayyad",
"id":"448296723",
"lastName":"Faisal",
"latitide":15.48623057279474,
"longtitude":32.372383464158,
"username":"Fayyad_Faisal1"
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Mohamed",
"id":"450756739",
"lastName":"khalifa",
"latitide":15.674714848276304,
"longtitude":32.72220065170747,
"username":"Major1234"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"Mohand",
"id":"456093281",
"lastName":"Mukhtar",
"latitide":15.65697122851629,
"longtitude":32.5081114719001,
"username":"mohand_mukhtar"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"محمد سليمان",
"id":"461983458",
"lastName":"",
"latitide":15.483492438465243,
"longtitude":32.5353883874141,
"username":"Tumbsh"
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"𝑨𝒎𝒐𝒏𝒂💛🧡",
"id":"464993278",
"lastName":"",
"latitide":15.649938633163533,
"longtitude":32.37718663223409,
"username":"Almagnonyea"
},
{
"city":"Sudan-Ensman",
"distance":2000.0,
"firstName":"عركي",
"id":"469016239",
"lastName":"",
"latitide":15.499973831365827,
"longtitude":32.52389442975564,
"username":"Araki12"
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Zone🙃",
"id":"471799343",
"lastName":"",
"latitide":15.634780687630503,
"longtitude":32.66049717002414,
"username":"Donz33"
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"محمد",
"id":"473214550",
"lastName":"سيد",
"latitide":15.66698841977114,
"longtitude":32.72128083010401,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"الشهيد مجدي",
"id":"478096459",
"lastName":"الدسوقي",
"latitide":15.437051447769514,
"longtitude":32.52512986643025,
"username":"MjdeDsugi"
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Jameel",
"id":"484154859",
"lastName":"Ali",
"latitide":15.5105236697384,
"longtitude":32.574955519568896,
"username":"Jameel7"
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"Osa'ma",
"id":"501438946",
"lastName":"",
"latitide":15.514117094283742,
"longtitude":32.55416045650251,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"SICARIO",
"id":"512455627",
"lastName":"",
"latitide":15.52565622377325,
"longtitude":32.552304091779106,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":6000.0,
"firstName":"ابتسامة",
"id":"517616702",
"lastName":"",
"latitide":15.511950708042614,
"longtitude":32.48811449041489,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"أبو عزام",
"id":"521603815",
"lastName":"",
"latitide":15.640917098506437,
"longtitude":32.52057994275046,
"username":"Aboazzam20"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"Mohammed",
"id":"526152028",
"lastName":"Boss",
"latitide":15.561662856881457,
"longtitude":32.53623875999501,
"username":"Boss08870"
},
{
"city":"Sudan-Ensman",
"distance":7000.0,
"firstName":"العراب",
"id":"527800459",
"lastName":"",
"latitide":15.558260936451273,
"longtitude":32.539074593762734,
"username":"mst7ter"
},
{
"city":"Sudan-Ensman",
"distance":4000.0,
"firstName":"Tota",
"id":"530644043",
"lastName":"saad",
"latitide":15.489373205051002,
"longtitude":32.51751987632592,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":1000.0,
"firstName":"اسمر",
"id":"534240990",
"lastName":"اني'ي",
"latitide":15.661734549615112,
"longtitude":32.37643721758512,
"username":""
},
{
"city":"Sudan-Ensman",
"distance":5000.0,
"firstName":"بيبي",
"id":"556737131",
"lastName":"",
"latitide":15.467835940403118,
"longtitude":32.366894260871085,
"username":"Babymirag"
}
]