| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
google-map-react é um componente desenvolvido sobre uma pequena parte do Google Maps API. Ele permite a renderização de qualquer componente React no Mapa do Google. É totalmente isomórfico e consegue renderizar no servidor. Além disso, é capaz de renderizar componentes no navegador mesmo que o Google Maps API não esteja carregado. Internamente, ele usa um algoritmo de hover ajustável, permitindo interações de mouse em qualquer objeto no mapa.
Ele te permite criar interfaces como essa do exemplo (Você pode rolar a tabela, aplicar zoom e mover o mapa, passar o mouse sobre os marcadores e clicar neles, e clicar nas linhas da tabela)
No caso mais simples, você só precisa adicionar as props lat e lng em qualquer componente.
import React, { Component } from 'react';
import GoogleMapReact from 'google-map-react';
const AnyReactComponent = ({ text }) => <div>{text}</div>;
class SimpleMap extends Component {
static defaultProps = {
center: {
lat: 59.95,
lng: 30.33
},
zoom: 11
};
render() {
return (
// Importante! Sempre defina a altura do container explicitamente
<div style={{ height: '100vh', width: '100%' }}>
<GoogleMapReact
bootstrapURLKeys={{ key: /* SUA CHAVE DA API */ }}
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}
>
<AnyReactComponent
lat={59.955413}
lng={30.337844}
text="My Marker"
/>
</GoogleMapReact>
</div>
);
}
}
export default SimpleMap;npm:
npm install --save google-map-react
yarn:
yarn add google-map-react
Ao invés de usar os marcadores padrão, balões e outros componentes do Google Maps, você pode renderizar seus prórpios componentes react animados no mapa.
Ele renderiza no servidor. (Bem vindos, buscadores) Você pode desabilitar o javascript nas ferramentas do desenvolvedor do navegador, e recarregar qualquer página de exemplo para ver como funciona)
Ele renderiza os componentes no mapa antes de o Google Maps API estar carregado (até mesmo sem ele).
Não é necessário inserir uma tag <script src= no topo da página. O Google Maps API é carregado a partir da primeira utilização do componente GoogleMapReact.
Você pode acessar os objetos mape mapsdo Google Maps usando onGoogleApiLoaded. Nesse caso, é necessário definir a propriedade yesIWantToUseGoogleMapApiInternals para true.
...
const handleApiLoaded = (map, maps) => {
// usa os objetos map e maps
};
...
<GoogleMapReact
bootstrapURLKeys={{ key: /* SUA CHAVE DA API */ }}
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}
yesIWantToUseGoogleMapApiInternals
onGoogleApiLoaded={({ map, maps }) => handleApiLoaded(map, maps)}
>
<AnyReactComponent
lat={59.955413}
lng={30.337844}
text="Meu marcador"
/>
</GoogleMapReact>OBS: Lembre-se de definir yesIWantToUseGoogleMapApiInternals como true.
Agora é possível aplicar hover em todo objeto do mapa. (Contudo, você ainda pode usar seletores hover css se desejar) Se você der zoom no aqui nesse exemplo, ainda conseguirá passar o mouse sobre praticamente todos os marcadores do mapa.
Efeitos de Hover: hover simples (código); distance hover (código)
Projeto de exemplo: main (código); balderdash (mesmo código do principal)
Agrupamento de marcadores (clustering) usando Hooks (novo: código, artigo) clustering-com-hooks
Exemplos de clustering (código) google-map-clustering-example
Como renderizar milhares de marcadores (novo: código) google-map-thousands-markers
Exemplos: Exemplos Exemplos antigos
Exemplo no jsbin exemplo no jsbin
Exemplos no webpackbin (novo) documentação com os exemplos (Em construção)
Exemplo no desenvolvimento local (novo) develop example
Você encontra a documentação aqui:
Nova Documentação (Em construção)
O desenvolvimento local é dividido em duas partes (idealmente, usando duas abas)
Primeiro, execute npm start para observar a pasta src/e recompilar automaticamente a cada mudança.
npm start # runs rollup with watch flagA segunda parte executará o example/ criado por create-react-app que é linkado à versão local do seu módulo.
# (em outra aba do console)
cd example
npm start # runs create-react-app dev serverAgora, toda vez que você alterar algo no diretório src/ ou na pasta example/src do app de exemplo, create-react-app irá recarregar automaticamente seu servidor de desenvolvimento local e você pode iterar no seu componente em tempo real.
Se você receber o erroModule not found: Can't resolve 'google-react-map'... ao executar o app de exemplo, você precisa linkar seu módulo de desenvolvimento local manualmente. Tente as opções a seguir:
npm linknpm link google-map-reactEstamos constantemente buscando colaboradores. Por favor, envie uma mensagem ao prorietário ou qualquer outro colaborador.
| Back | FazBrowse Home | New Git URL |