Logo Hardware.com.br
Wellinghton Pereira Gomes
Wellinghton... Membro Junior Registrado
81 Mensagens 4 Curtidas

[Resolvido] Ajuda para salvar em Banco

#1 Por Wellinghton... 03/11/2020 - 19:56
Boa noite pessoal, estou construindo uma aplicaçao com google api, tentando aprender sozinho e confesso que ja estou exausto e tive algum progresso.
Mas o que me quebra a cabeça é a parte de servidor.
Gostaria de uma ajuda. Tenho um mapa onde desenho polígonos, assim que termina o desenho automaticamente abre um modal do bootstrap, que peguei de um exemplo, e nele são inseridos automaticamente as coordenadas desse poligono.
Queria poder salvar ele no servidor local e nao faço ideia como proceder... preciso que tenha uma id cada poligono desenhado. Alguem pode me ajudar?

segue o que fiz ate agora

<?php
require 'connection.php';
?>

<!DOCTYPE html>
<html>
<head>


<meta name="viewport" content="initial-scale=1.0, width=device-width"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

<!--Conexão com CSS do bootstrap-->
<link rel="stylesheet" href="google/bootstrap.css">
<!--Conexão com jquery do google-->

<!--Conexão com js do bootstrap-->


<style>
#map {
height: 100%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
p.vd {
background-color: green;
position: absolute;
top: 1px;
left: 10px;
}
p.vm {
background-color: red;
position: absolute;
top: 1px;
left: 10px;
}
</style>

<!--Conexão com API do google-->
<script src="https://maps.googleapis.com/maps/api/js?key=SUA_API_AKI&libraries=drawing&callback=initMap"
async defer></script>

</head>
<body>
<center><div id="info"></div></center>

<!--div que mostra o mapa-->
<div id="map"></div>

<!--div por cima do mapa onde mostra se está conectado com o servidor ou não-->
<div>
<?php
if (!$conn){
?>
<p class="vm">DESCONECTADO</p>
<?php
}
else{
?>
<p class="vd">CONECTADO</p>
<?php
}
?>
</div>

<!--JS do mapa com a ferramenta de desenho-->
<script>
var map;
var ferramenta;
var contador_poligono = 0;
var array_pol = [];

function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 18,
center: new google.maps.LatLng(-27.131034, -51.468336),

//configuração do botão de mapa e tipo
mapTypeControl: false,

//tipo do mapa
mapTypeId: 'roadmap',

//orientação do controle
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
position: google.maps.ControlPosition.TOP_Left
},

//configuração do botão de zoom
zoomControl: false,
zoomControlOptions: {position: google.maps.ControlPosition.LEFT_CENTER},

//configuração do botão de street view
scaleControl: false,
streetViewControl: false,
streetViewControlOptions: {position: google.maps.ControlPosition.LEFT_TOP},

//configuração do botão de tela cheia
fullscreenControl: false,
});

//codigo para a ferramenta de desenho
ferramenta = new google.maps.drawing.DrawingManager({
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.POLYGON,
],
},
polygonOptions: {
fillColor: "red",
fillOpacity: 3,
strokeWeight: 2,
clickable: true,
draggable: false,
editable: false,
zIndex: 1,
},
});
ferramenta.setMap(map);

//eventos do desenho
google.maps.event.addListener(ferramenta, 'polygoncomplete', function(polygon){

//cada vez que termina um desenho adiciona +1
contador_poligono++;

//escreve no modal o contador
document.getElementById('identif').value = contador_poligono;

// faz loop do click capturando as coordenadas e adicionando na pagina
for ( var i = 0; i < polygon.getPath().getLength(); i++) {

xypol = polygon.getPath().getAt(i);

document.getElementById('coords1').innerHTML +=
"<div><b>Coordenada X "+ i +"</b><input class='form-control' value="+ xypol.lat() + "></div>"
document.getElementById('coords2').innerHTML +=
"<div><b>Coordenada Y "+ i +"</b> <input class='form-control' value="+ xypol.lng() + "></div>"

}
$('#add_place').modal('toggle');
ferramenta.setDrawingMode(null);


})

}
</script>
</body>
</html>

<!-- Modal add-->
<div class="modal fade" id="add_place" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Add Place</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>

<form method="POST" action="crud.php?action=create">
<div class="modal-body">
<div class="form-group row">
<div class="col-md-2">
<label>ID</label> <input id="identif" class="form-control" type="text" name="id"/>
</div>
<div class="col-md-12">
<label>Nome</label>
<input class="form-control" type="text" name="name"/>
</div>
<div class="col-md-12">
<label>Endereço</label>
<input class="form-control" type="text" name="adress"/>
</div>
</div>
<div class="form-group row">
<div id="coords1" class="col-md-6">
</div>
<div id="coords2" class="col-md-6">
</div>
</div>
<div class="form-group row">
<div class="col-md-6">
<label>Tipo</label>
<input class="form-control" type="text" name="type"/>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
</div>
</div>
Responder
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#2 Por esquiloesper...
04/11/2020 - 22:53
Pra começo de conversa, programar dá trabalho mesmo! — Lembre-se que vai ter de ensinar uma máquina que só entende uma palavra por vez a fazer no seu lugar tudo aquilo que você deveria fazer, e no final ela vai precisar quase "falar". Então arregace as mangas e vá a luta.

Vai precisar criar o banco de dados - e para isso precisa dominar SQL e criar relacionamentos entre tabelas.
Se não estudou sobre isso, estude. Para iniciantes existe um "recurso" que pode ajudar:



E depois, com o banco criado, é preciso conectar a aplicação PHP a ele. Só assim poderá realizar CRUDs com eficiência:



É isso!
Temos muitos bons tópicos sobre estes assuntos aqui mesmo, por isso fique à vontade para usar a nossa ferramenta de pesquisas.
Bons estudos.
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
Wellinghton Pereira Gomes
Wellinghton... Membro Junior Registrado
81 Mensagens 4 Curtidas
#3 Por Wellinghton...
04/11/2020 - 23:45
esquiloesperto disse:
Pra começo de conversa, programar dá trabalho mesmo! — Lembre-se que vai ter de ensinar uma máquina que só entende uma palavra por vez a fazer no seu lugar tudo aquilo que você deveria fazer, e no final ela vai precisar quase "falar". Então arregace as mangas e vá a luta.

Vai precisar criar o banco de dados - e para isso precisa dominar SQL e criar relacionamentos entre tabelas.
Se não estudou sobre isso, estude. Para iniciantes existe um "recurso" que pode ajudar:



E depois, com o banco criado, é preciso conectar a aplicação PHP a ele. Só assim poderá realizar CRUDs com eficiência:



É isso!
Temos muitos bons tópicos sobre estes assuntos aqui mesmo, por isso fique à vontade para usar a nossa ferramenta de pesquisas.
Bons estudos.


muito obrigado pelos esclarecimentos.
criei um localhost com apache, estou utilizando o programa vertrigo, então entrei no phpmyadmin e criei um banco de dados com SQL com o pouco que aprendi. Criei um arquivo php com nome connection e até agora esta conectado e tudo funcionando.
agora preciso, acredito que, colocar os lat lng do polígono numa array, transformar em xml e depois enviar pro servidor... seria isso?
Além disso não sei por onde começar..

como vc pode ver no codigo anterior la ele mostra se esta conectado no servidor ou nao...

<?php
$servidor = "localhost";
$usuario = "root";
$senha = "root";
$dbname = "teste";

//Criar a conexao
$conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
?>
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal