Javascript 如何合并<;脚本>;在React中添加Google地图实例
比您更感谢您展示如何使用来实现这一点。可以找到他的答案。 然而,虽然这确实解决了我的问题,但我原来的问题仍然存在。假设没有创建任何react组件来消除使用Javascript 如何合并<;脚本>;在React中添加Google地图实例,javascript,google-maps,reactjs,web,google-maps-api-3,Javascript,Google Maps,Reactjs,Web,Google Maps Api 3,比您更感谢您展示如何使用来实现这一点。可以找到他的答案。 然而,虽然这确实解决了我的问题,但我原来的问题仍然存在。假设没有创建任何react组件来消除使用的麻烦,那么我将如何使用下面的问题中所示的脚本实现Google地图。换句话说,如何使用React(ES6/ES7) 我正在我的网络应用程序中添加一个谷歌地图。我发现了这个伟大的发电机,它给了我以下代码: <!DOCTYPE html> <html> <head> <meta charset="
的麻烦,那么我将如何使用下面的问题中所示的脚本实现Google地图。换句话说,如何使用React(ES6/ES7)
我正在我的网络应用程序中添加一个谷歌地图。我发现了这个伟大的发电机,它给了我以下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Google Maps</title>
</head>
<body>
<div id="map_canvas" style="width:500px;height:300px;"></div>
<script src="https://maps.google.com/maps/api/js"></script>
<script>
window.onload = function() {
initialize();
};
function initialize() {
var myLatlng = new google.maps.LatLng(50.3419169876, 5.60793614352);
var myOptions = {
zoom: 16,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var infowindow = new google.maps.InfoWindow({
content: "Someplace"
});
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: "Someplace"
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
}
</script>
</body>
</html>
谷歌地图
window.onload=函数(){
初始化();
};
函数初始化(){
var mylatng=new google.maps.LatLng(50.3419169876,5.60793614352);
变量myOptions={
缩放:16,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
var infowindow=new google.maps.infowindow({
内容:“某处”
});
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“某处”
});
google.maps.event.addListener(标记'click',函数(){
信息窗口。打开(地图、标记);
});
}
因此,我将脚本粘贴到index.html文件中。谷歌地图实例应该放在联系人页面上。显然,当我在/contact上重新加载页面时,我会很快加载地图。然而,由于窗口在react中不在范围内,所以每当我使用导航栏导航时,它都不起作用
我有一个GoogleMaps.js组件,它只包含id map_canvas的div:
import React from 'react'
const GoogleMapsInstance = () => (
<div id="map_canvas" style={{ width: '100%', height: '400px', overflow: 'hidden' }} />
)
export default GoogleMapsInstance
从“React”导入React
const GoogleMapsInstance=()=>(
)
导出默认GoogleMapsInstance
我想知道如何在这个组件中获取脚本,以便调用componentDidMount函数上的脚本或类似的东西
我也愿意接受任何其他类型的解决方案,让我快速加载(无iframe)谷歌地图:)
谢谢你的帮助 谷歌上的简单搜索;)
尝试:
演示:这种方式并不复杂,出于您的喜好,我昨天刚刚发布了,效果不错 如果你想把这个地图元素添加到你的组件上,或者反之亦然,请告诉我 以下编辑版本(根据您的需要): 您可以按照本指南将地图显示在您的联系人页面上: 首先,安装必要的库:
npm install --save google-map-react
npm install --save prop-types
然后,您可以复制以下内容:
import React, { Component } from 'react';
import GoogleMapReact from 'google-map-react';
const AnyReactComponent = ({ text }) => <div>{text}</div>;
class MyClass extends Component {
constructor(props){
super(props);
}
render() {
return (
<GoogleMapReact
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}
style={{width: '500px', height: '300px'}}
>
<AnyReactComponent
lat={50.3419169876}
lng={5.60793614352}
text={'MY SHOP'}
/>
</GoogleMapReact>
);
}
}
MyClass.defaultProps = {
center: {lat: 50.34, lng: 5.61},
zoom: 16
};
export default MyClass;
import React,{Component}来自'React';
从“谷歌地图反应”导入谷歌地图反应;
const AnyReactComponent=({text})=>{text};
类MyClass扩展组件{
建造师(道具){
超级(道具);
}
render(){
返回(
);
}
}
MyClass.defaultProps={
中心:{lat:50.34,lng:5.61},
缩放:16
};
导出默认MyClass;
请随意编辑LatLng值和/或“我的店铺”文本,我相信您也可以使用一些自定义PNG图像而不是文本元素来显示表示您的店铺的首选地图pin我发现了这一点,但它似乎不必要地复杂,我在实现它时遇到了困难。显示您的react主渲染代码(组件)那么我可以帮你;)谢谢现在可以用了。“标记”可以定制,这是对的,考虑到我不仅仅想要文本,因为它看起来很平淡。很高兴你做到了,朋友^^!