当前位置: 首页 > news >正文

科协建设网站 方案站长收录平台

科协建设网站 方案,站长收录平台,动漫做的游戏 迅雷下载网站,wordpress获取图片id需求描述 需要在前端页面中使用地图定位功能,所以在前端umi项目中使用百度地图服务,由于umi项目默认没有入口的html文件,所以无法通过常规的在head中加入外链js的方式使用 百度ak zyqeLCzvQPCCNImRu9yRGOqWlEUicxxGreact使用百度api 链接:…

需求描述

需要在前端页面中使用地图定位功能,所以在前端umi项目中使用百度地图服务,由于umi项目默认没有入口的html文件,所以无法通过常规的在head中加入外链js的方式使用

百度ak

zyqeLCzvQPCCNImRu9yRGOqWlEUicxxG

react使用百度api

在这里插入图片描述

链接: 百度地图api链接

解法方法

看清楚有两种方法

第一种方式 :用umi-plugin 插件的方式把链接加到页面上

在这里插入图片描述

src/page下 ,新建文件 plugins/customPlugin.js

/**
* customPlugin.js
*/
export default (api, opts) => {// 在HTML尾部添加脚本 api.addHTMLScripts(() => {return [{// 百度地图type:"text/javascript",src:"//api.map.baidu.com/api?type=webgl&v=1.0&ak=你的百度秘钥ak"}]})}

在这里插入图片描述

在umirc.ts中导入本地新建的插件文件customPlugin.js

/**
* umirc.ts,umi项目默认配置文件
*/
import { defineConfig } from 'umi';export default defineConfig({nodeModulesTransform: {...},dva: {},routes: [...],fastRefresh: {},plugins: ['./src/plugins/customPlugin.js'] //添加一个plugins插件
});

新建一个jsx文件将你需要的代码填写到里面

注意!!!

使用npm方式安装react组件库,然后通过es模块加载

npm install react-bmapgl --save

因为本人使用的是tsx 所以会有下划线报错

在这里插入图片描述

import { Map } from 'react-bmapgl'function Example() {return (<Mapstyle={{ height: 450 }}center={new BMapGL.Point(116.404449, 39.914889)}zoom={12}heading={0}tilt={40}onClick={(e:any) => console.log(e)}enableScrollWheelZoom/>)
}export default Example

第一种使用方法 效果图

在这里插入图片描述

第二种方式 :手动添加document.ejs文件

src/page下,新建document.ejs文件

<!Doctype html>
<html>
<head><meta charset="utf-8" /><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><meta name="format-detection" content="telephone=no"/><meta name="format-detection" content="email=no"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" /><title> </title><script src="//api.map.baidu.com/api?v=3.0&ak=你的百度地图AK码"></script>
</head>
<body>
<div id="root"></div>
</body>
</html>

前端代码

import React, { useEffect } from 'react';
import { Modal } from 'antd';/*** 新建考勤地点模态框* */
export default function XjkqddModal(props) {const { modalVisible, setModalVisible } = props;     // 模态框状态useEffect(() => {renderMap();}, []);const renderMap = () => {var map = new BMap.Map("container", {coordsType: 5});var point = new BMap.Point(116.404, 39.915);  // 创建点坐标map.centerAndZoom(point, 15);                 // 初始化地图,设置中心点坐标和地图级别};return (<Modaltitle="考勤地点"visible={modalVisible}onOk={() => setModalVisible(false)}okText='确定'onCancel={() => setModalVisible(false)}cancelText='取消'width={1000}forceRender><div id='container' style={{ width: 300, height: 300 }} /></Modal>)
}

报错在这里插入图片描述

注意点

Antd 4.xmodalimport进页面时,是仅仅挂载,没有渲染其中的DOM结构,所以取不到map实例挂载的 DIVmodalAPI中有个forceRender的属性,加上后modal挂载的同时会把DOM渲染出来
初始化地图实例要在render后执行,不然会取不到DIV容器
地图容器DIV一定要指定宽高,地图并不会撑开DIV,而是把你设置宽高的DIV撑满

http://www.tj-hxxt.cn/news/8127.html

相关文章:

  • 旅游电子商务网站开发实验报告宁波seo教程网
  • 建设公司网站 优帮云2023百度秒收录技术
  • 电子商务网站建设的基本流程sem是什么意思的缩写
  • 怎么查看网站是哪家公司做的湖北网络推广seo
  • 台州做网站app的公司1元涨1000粉
  • 自己做的网站 网站备案流程网络推广靠谱吗
  • 网站的素材做logoseo专员是什么意思
  • 如何在自己电脑上搭建网站搜索引擎营销分类
  • 保定有那些网站开鲁seo服务
  • 蓝色网站特点厦门网站流量优化价格
  • 哪个网站做清洁的活多谷歌商店下载不了软件
  • 网站地图怎么做一键导航线上如何做推广
  • 做网站宁夏大地seo
  • 辽宁省建设工程信息网电话平原县网站seo优化排名
  • 网站开发公司企业今日最新闻
  • 图片模板在线设计制作站外seo推广
  • 做实验教学视频的网站百度提交网站入口
  • 武汉平台网站建设 APP营销策划公司 品牌策划公司
  • jsp做网站 案例正规手游代理平台有哪些
  • 建设银行甘肃分行网站2023年重大时政热点
  • 合肥企业网站常用的网络营销工具
  • 做空闲时间的网站郑州seo学校
  • 网站开发中的视图页面指的是什么中国网评中国网评
  • 外贸企业网站源码关键词推广seo
  • 网站的弹窗对话框怎么做五种新型营销方式
  • 宿迁专业网站建设公司关键词如何排名在首页
  • 做网站的电脑软件西安百度推广代理商
  • 网站上微信的链接怎么做湖口网站建设
  • 广州比较有名的网站建设公司如何将网站的关键词排名优化
  • 京东电子商务网站建设百度收录关键词查询