react-amap icon indicating copy to clipboard operation
react-amap copied to clipboard

如何显示默认地图类型

Open evanyangg opened this issue 4 years ago • 7 comments

我这边想默认就显示卫星类型的地图 官网是这样的

aMap.setMapType(AMap.MAP_TYPE_SATELLITE);// 设置卫星地图模式,aMap是地图控制器对象。

但是我在这个项目里面只看到了AMap.MapType插件, 必须显示一个面板然后切换吗?

evanyangg avatar Sep 08 '21 21:09 evanyangg

@evanyangg

<MapTypeControl defaultType={1} />

jaywcjlove avatar Sep 09 '21 02:09 jaywcjlove

image 看到效果了,还是显示了一个组件出来,默认了一个值。 支持这种方式吗 aMap.setMapType(AMap.MAP_TYPE_SATELLITE); 不太想显示控制UI,显示的东西多了,用户就会乱点,造成不必要的问题

evanyangg avatar Sep 09 '21 04:09 evanyangg

我看 2.0 没有这个 API 你可以看官方API @evanyangg

jaywcjlove avatar Sep 09 '21 06:09 jaywcjlove

@evanyangg 示例:https://codesandbox.io/embed/react-amap-demo-139-sj5z6?fontsize=14&hidenavigation=1&theme=dark

import React from "react";
import ReactDOM from "react-dom";
import { Map, APILoader } from "@uiw/react-amap";

function MapDome() {
  return <Map layers={[new AMap.TileLayer.Satellite()]} />;
}

const Demo = () => (
  <div style={{ width: "100%", height: "300px" }}>
    <APILoader akay="a7a90e05a37d3f6bf76d4a9032fc9129">
      <MapDome />
    </APILoader>
  </div>
);

ReactDOM.render(<Demo />, document.getElementById("container"));

jaywcjlove avatar Sep 09 '21 06:09 jaywcjlove

image

jaywcjlove avatar Sep 09 '21 06:09 jaywcjlove

感谢感谢🙏🙏 但是这种写法会有 AMap is not defined 的问题 后来我尝试在map里面操作,像这样:

{({ AMap, map, container }) => {
  map.setLayers([new AMap.TileLayer.Satellite({})])
  return;
}}

但是好像没有生效

evanyangg avatar Sep 09 '21 07:09 evanyangg

APILoaderMap 分开写就不会有 AMap is not defined 的问题了 https://github.com/uiwjs/react-amap/issues/45#issuecomment-759174172

jaywcjlove avatar Sep 09 '21 07:09 jaywcjlove